zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
U
­ý°d²'ã @sžddlZddlZddlZddlmZddlm    Z    m
Z
e  ej ej dddej ddej dg
¡Z e    e ƒZGd    d
„d
ƒZGd d „d ƒZGd d„dƒZGdd„dƒZdS)éN)Ú SparseArrayÚ SparseDtypeééééééc@sPeZdZdd„Zdd„Zej dej    dd…ej    dd…ej    dd    …ej    dd…ej    dd
…ej    d d …ej    dd …ej    d d…ej    dd…ej    ddd…ej    ddd…ej    ddd…ej    ddd…ej    ddd…ej    ddd…g¡ej dej
gddgdej
gddgdgg¡dd„ƒƒZ dd„Z dd„Z dd„Zdd„Zd d!„ZdS)"Ú TestGetitemcCsFt ¡}ttƒD]0\}}t |||¡t t| || ¡qdS©N)ÚarrZto_denseÚ    enumerateÚtmZassert_almost_equal)ÚselfÚdenseÚiÚvalue©rú_d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/arrays/sparse/test_indexing.pyÚ test_getitemszTestGetitem.test_getitemcCs8tdddgƒ}|dddg}tddgƒ}t ||¡dS)NrrrTF)rrÚassert_sp_array_equal)rr ÚresultÚexpectedrrrÚtest_getitem_arraylike_masks z'TestGetitem.test_getitem_arraylike_maskÚslcNré
édéýÿÿÿéûÿÿÿéüÿÿÿiôÿÿÿrréÿÿÿÿéþÿÿÿr    éúÿÿÿÚas_densercCs6t |¡}t|ƒ}||}t||ƒ}t ||¡dSr )ÚnpÚarrayrrr)rrr#r rrrrrÚ test_getslices
 
 zTestGetitem.test_getslicec Csöt tjdddddtjtjdg    ¡}t|ƒ}|tddƒf}t|dd…ƒ}t ||¡t|dd}|tddƒf}t|dd…dd}t ||¡d}tjt    |d|dd…dd…fW5QRXtjt    |d|dd…dd…fW5QRXdS)Nrrrr©Ú
fill_valueztoo many indices for array©Úmatch)
r$r%ÚnanrÚslicerrÚpytestÚraisesÚ
IndexError)rrÚsparseÚresÚexpÚmsgrrrÚtest_getslice_tuple<s"   zTestGetitem.test_getslice_tuplecCs0tdddgƒ}|dddg}|j|jks,t‚dS)NrrrF)rÚdtypeÚAssertionError)rr r1rrrÚtest_boolean_slice_emptyQsz$TestGetitem.test_boolean_slice_emptycCs´tddgdtjdd}ttjdtjddgƒ}t t||¡|}t|}ttjddd    tjgƒ}t ||¡tddtjgdtjtjd}t|}ttjddgƒ}t ||¡dS)
NFTr)r5r(rr    rrr)rr$Zbool_r+rrr )rZ    spar_boolr2r1rrrÚtest_getitem_bool_sparse_arrayVs ÿz*TestGetitem.test_getitem_bool_sparse_arraycCsLtddddtjtjgtjd}||dk}tddgtjd}t ||¡dS)Nrrrrr'g@g@)rr$r+rr)rr r1r2rrrÚ,test_getitem_bool_sparse_array_as_comparisonhs z8TestGetitem.test_getitem_bool_sparse_array_as_comparisonc Csêtddddddddddg
dd}t td¡s2t‚tddksBt‚td    dksRt‚|ddksbt‚|ddksrt‚|d    dks‚t‚d
}tjt|d td W5QRXtjt|d td W5QRXtdtttƒdksæt‚dS)Nrrrrrrr    r'éz%must be an integer between -10 and 10r)é iõÿÿÿr )    rr$Úisnanr r6r-r.r/Úlen)rZzarrÚerrmsgrrrÚ test_get_itemos zTestGetitem.test_get_item)Ú__name__Ú
__module__Ú __qualname__rrr-ÚmarkÚ parametrizer$Zs_r+r&r4r7r8r9r?rrrrr
s>         ñþ*ÿ     r
c@seZdZdd„ZdS)Ú TestSetitemc    shttƒ ¡‰‡fdd„}‡fdd„}tjtdd |ƒW5QRXtjtdd |ƒW5QRXdS)Ncs dˆd<dS)Nrrrr©r rrÚsetitem‰sz*TestSetitem.test_set_item.<locals>.setitemcsdˆdd…<dS)NrrrrrrFrrÚsetsliceŒsz+TestSetitem.test_set_item.<locals>.setslicezassignment via setitemr))rÚarr_dataÚcopyr-r.Ú    TypeError)rrGrHrrFrÚ test_set_item†s   zTestSetitem.test_set_itemN)r@rArBrLrrrrrE…srEc@sfeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
e j   dddg¡dd„ƒZdS)ÚTestTakec    Cs,d}tjt|dt d¡W5QRXdS)Nz-'indices' must be an array, not a scalar '2'.r)r)r-r.Ú
ValueErrorr Útake)rr3rrrÚtest_take_scalar_raises—sz TestTake.test_take_scalar_raisescCs\tt tddg¡ƒ}t t ddg¡|¡tt tdddg¡ƒ}t t dddg¡|¡dS)Nrrrr©rr$rOrIrrr ©rr2rrrÚ    test_takeœszTestTake.test_takecCs<tjddgtdƒd}|jddgdtjd}t ||¡dS)NrÚint64)r5rT©Ú
allow_fillr()Úpdr%rrOr$r+rr)rÚarrrrÚtest_take_all_empty£szTestTake.test_take_all_emptycCs‚t dtjdddg¡}t|dd}tt |dg¡dd}t | dg¡|¡tt |dddg¡dd}t | dddg¡|¡dS)Nrrrr'r)r$r%r+rrOrr)rÚdatar0r2rrrÚtest_take_fill_value¨s  zTestTake.test_take_fill_valuecCsXtt tdg¡ƒ}t t dg¡|¡tt tdddg¡ƒ}t t dddg¡|¡dS)Nr rrr!rQrRrrrÚtest_take_negative²szTestTake.test_take_negativec    Cs*tjtddt dg¡W5QRXdS)NZboundsr)r;)r-r.r/r rO)rrrrÚ test_bad_take¹szTestTake.test_bad_takec    CsÂttjtjdtjdgƒ}| t dddg¡¡}ttjtjdgƒ}t ||¡|jt dddg¡dd}ttjtjtjgƒ}t ||¡|jt dddg¡ddd}ttjtjdgƒ}t ||¡d    }tjt    |d
 |jt ddd g¡ddW5QRXtjt    |d
 |jt ddd g¡ddW5QRXd }tjt
|d
| t ddg¡¡W5QRXtjt
|d
| t ddg¡¡W5QRXtjt
|d
|jt ddg¡ddW5QRXdS)Nrrrr T©rVFrUzInvalid value in 'indices'r)r!rú out of bounds value in 'indices'r"r© rr$r+rOr%rrr-r.rNr/©rr0rrr3rrrÚtest_take_filling½s,   $$zTestTake.test_take_fillingc    CsÈttjddddgdd}| t dddg¡¡}tdtjdgdd}t ||¡|jt dddg¡dd}tdtjtjgdd}t ||¡|jt dddg¡ddd    }tdtjdgdd}t ||¡d
}tjt    |d  |jt ddd g¡ddW5QRXtjt    |d  |jt ddd g¡ddW5QRXd}tjt
|d | t ddg¡¡W5QRXtjt
|d | t ddg¡¡W5QRXtjt
|d |jt ddg¡ddW5QRXdS)Nrrrr'r Tr^FrUzInvalid value in 'indices'.r)r!rr_r"rr`rarrrÚtest_take_filling_fill_valueÞs,   $$z%TestTake.test_take_filling_fill_valueÚkindÚblockÚintegerc    Cs.ttjtjtjtjtjg|d}| t dddg¡¡}ttjtjtjg|d}t ||¡|jt dddg¡dd}ttjtjtjg|d}t ||¡d}tjt    |d| t dd    g¡¡W5QRXtjt    |d| t dd
g¡¡W5QRXtjt    |d|jt dd
g¡ddW5QRXdS) N)rdrrr Tr'r_r)r"r)
rr$r+rOr%rrr-r.r/)rrdr0rrr3rrrÚtest_take_filling_all_nans   z"TestTake.test_take_filling_all_nanN)r@rArBrPrSrYr[r\r]rbrcr-rCrDrgrrrrrM–s
!#rMc@seZdZdd„ZdS)Ú    TestWherecCsxttjdgdd}t ddg¡}| |d¡}tddgdd}t ||¡t |¡}|     |d¡}t 
|t |¡¡dS)Ngð?rr'TFr) rr$r+r%Z_whererrrWZSeriesÚwhereZassert_series_equal)rr Úmaskr1r2ZserrrrÚtest_where_retain_fill_values 
z&TestWhere.test_where_retain_fill_valueN)r@rArBrkrrrrrhsrh)Únumpyr$r-ZpandasrWZpandas._testingZ_testingrZpandas.core.arrays.sparserrr%r+rIr r
rErMrhrrrrÚ<module>s &v