zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
U
­ý°dU+ã@stdZddlZddlZddlmZddlmZmZddl    Z
ddl m Z ddl mZGdd„deƒZGd    d
„d
eƒZdS) z
Tests for 2D compatibility.
éN)Úis_matching_na)Ú is_bool_dtypeÚis_integer_dtype)ÚINT_STR_TO_DTYPE)ÚBaseExtensionTestsc    @säeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z ej dddg¡dd„ƒZej dddddd d!g¡d"d#„ƒZej dddddd d!g¡d$d%„ƒZej dddddd d!g¡d&d'„ƒZd(S))ÚDim2CompatTestscCsJ| d¡ dd¡}|j}|d|dks,t‚|jj|ddd…ksFt‚dS)Nééÿÿÿÿr)ÚrepeatÚreshapeÚshapeÚAssertionErrorÚT)ÚselfÚdataÚarr2dr ©rúWd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/base/dim2.pyÚtest_transposeszDim2CompatTests.test_transposecCsT| d¡ dd¡}t |¡}t |dd…df|dd…dfdœ¡}| ||¡dS)Nrr    ré)rr)r
r ÚpdZ    DataFrameZassert_frame_equal)rrrZdfÚexpectedrrrÚtest_frame_from_2d_arrays
(z(Dim2CompatTests.test_frame_from_2d_arraycCs4| d¡ dd¡}| dd¡}|j}| ||¡dS)Nrr    rr)r
r ZswapaxesrÚassert_extension_array_equal©rrrÚresultrrrrÚ test_swapaxes%s zDim2CompatTests.test_swapaxescCst| d¡ dd¡}|jddd}| d¡ d¡ dd¡}| ||¡|jddd}| d¡ dd¡}| ||¡dS)Nér    rr©Úaxisr)r
r ÚdeleterrrrrÚtest_delete_2d,s zDim2CompatTests.test_delete_2dcCsH| dd¡}|jdddgdd}| dddg¡ dd¡}| ||¡dS)Nr    rrr)r ZtakerrrrrÚ test_take_2d9s zDim2CompatTests.test_take_2dcCs`t| dd¡ƒ}| dt|ƒj›¡dks.t‚t| dd¡ƒ}| dt|ƒj›¡dks\t‚dS)Nrr    ú<)Úreprr ÚcountÚtypeÚ__name__r )rrÚresrrrÚ test_repr_2dAszDim2CompatTests.test_repr_2dc    Cs´| dd¡}|j|jdfks t‚t|ƒt|ƒks4t‚| d¡}|j|jdfksRt‚t|ƒt|ƒksft‚t t¡| |jdf¡W5QRXt t¡| |jd¡W5QRXdS)Nr    r)r    rr)r r Úsizer ÚlenÚpytestÚraisesÚ
ValueError)rrrrrrÚ test_reshapeIs 
  zDim2CompatTests.test_reshapec    CsÞ| dd¡}|d}| ||¡t t¡|dW5QRXt t¡|dW5QRX|dd…}| ||¡|dd…dd…f}| ||¡|dd…df}|dg}| ||¡|dd…tjf}| ||j¡dS)Nrr    réþÿÿÿ)r rr,r-Ú
IndexErrorÚnpZnewaxisrrrrrÚtest_getitem_2dWs        
 zDim2CompatTests.test_getitem_2dcCs‚| dd¡}tt|ƒƒ}t|ƒ|jdks.t‚|D]J}t|t|ƒƒsHt‚|j|jksXt‚|j    dksft‚t|ƒ|jdks2t‚q2dS)Nrr    r)
r ÚlistÚiterr+r r Ú
isinstancer&ÚdtypeÚndim)rrrÚobjsÚobjrrrÚ test_iter_2dqs  zDim2CompatTests.test_iter_2dcCsR| dd¡}| ¡}| ¡g}t|tƒs,t‚tdd„|DƒƒsBt‚||ksNt‚dS)Nrr    css|]}t|tƒVqdS)N)r6r4)Ú.0ÚxrrrÚ    <genexpr>„sz1Dim2CompatTests.test_tolist_2d.<locals>.<genexpr>)r Útolistr6r4r ÚallrrrrÚtest_tolist_2d}s  
zDim2CompatTests.test_tolist_2dc    Csìt|ƒ ||g¡ dd¡}| ¡}|j||gdd}| |gd¡ dd¡}| ||¡|j||gdd}|jt|ƒdfks€t‚| |dd…dd…f|¡| |dd…dd…f|¡d}tj    t
|d|j||gddW5QRXdS)    Nr    rrrérz0axis 2 is out of bounds for array of dimension 2©Úmatch) r&Z_concat_same_typer Úcopyrr r+r r,r-r.)rrÚleftÚrightrrÚmsgrrrÚtest_concat_2dˆs zDim2CompatTests.test_concat_2dÚmethodZbackfillÚpadcCsp| d¡ dd¡}|d ¡ ¡s&t‚|d ¡ ¡r:t‚|j|d}|j|d d¡ dd¡}| ||¡dS)Nrrr)rJ)r
r Zisnar@r ÚanyZfillnar)rZ data_missingrJZarrrrrrrÚtest_fillna_2d_methodœs  z%Dim2CompatTests.test_fillna_2d_methodÚmeanÚmedianÚvarÚstdÚsumÚprodc
CsÚ| dd¡}d}d}zt||ƒƒ}Wnbtk
r†}zD|}zt||ƒdd}Wn&tk
rt}    z|    }W5d}    ~    XYnXW5d}~XYnXt||ƒdd}|dk    s¨|dk    rÀt|ƒt|ƒks¼t‚dSt||ƒsÖ||ksÖt‚dS)Nrr    r)r ÚgetattrÚ    Exceptionr&r r)
rrrJrZ err_expectedZ
err_resultrÚerrrÚerr2rrrÚtest_reductions_2d_axis_none§s  (z,Dim2CompatTests.test_reductions_2d_axis_nonec Cs¨| dd¡}i}|dkr d|d<zt||ƒfddi|—Ž}Wn~tk
rº}z`zt||ƒƒWnBtk
r }z$t|ƒt|ƒks„t‚WY¢
WY¢dSd}~XYn
Xtdƒ‚W5d}~XYnXdd    „}|d
krT|}    |d krF|jjd krF||jƒ}
| |
¡}    |jjd kr|d krnt|    ƒt|ƒks6tt|    ƒƒ‚|
|    jksFt‚| ||    ¡nP|dkr¤t    |ƒsrt
|ƒr|| d¡}|dkr”| ||¡n| |||¡dS)Nrr    )rQrPrZddofrú'Both reductions should raise or neithercSs>|jdkr|S|jdkr(tt t¡jStt tj¡jSdS)NéÚib)ÚitemsizeÚkindrr2r7ÚintÚnameZuint)r7rrrÚget_reduction_result_dtypeÔs
 
 
zLDim2CompatTests.test_reductions_2d_axis0.<locals>.get_reduction_result_dtype)rOrRrS)rRrSZiubÚb)rNrQrPZFloat64rN) r rTrUr&r r7r]Zastyperrr) rrrJrÚkwargsrrVrWr`rr7rrrÚtest_reductions_2d_axis0Às< 
 
 
 
 
 
z(Dim2CompatTests.test_reductions_2d_axis0c     CsÜ| dd¡}zt||ƒdd}Wn~tk
rž}z`zt||ƒƒWnBtk
r„}z$t|ƒt|ƒksht‚WY¢
WY¢dSd}~XYn
Xtdƒ‚W5d}~XYnX|jdks®t‚t||ƒƒ}|d}t||ƒsØ||ksØt‚dS)Nrr    rrY)rr)r rTrUr&r r r)    rrrJrrrVrWZexpected_scalarr(rrrÚtest_reductions_2d_axis1ös  z(Dim2CompatTests.test_reductions_2d_axis1N)r'Ú
__module__Ú __qualname__rrrr!r"r)r/r3r;rArIr,ÚmarkZ parametrizerMrXrcrdrrrrrs&   
 
 
 
5rc@seZdZdd„ZdS)ÚNDArrayBacked2DTestsc    Csð| d¡ dd¡}|jjds"t‚| ¡}|jjds:t‚|ddd…ddd…f ¡}|jjdsft‚| d¡}|jjdr€t‚|jjdst‚| d¡}|jjdsªt‚|j d¡}|jjdrÆt‚|jjdsÖt‚d}tjt    |d| d    ¡W5QRX|ddd…}|jjdrt‚|jjdr0t‚| ¡jjdsFt‚| ¡jjdr\t‚| d
¡jjdstt‚| d
¡jjdrŒt‚| d¡jjdr¤t‚| d¡jjds¼t‚| d¡jjdsÔt‚| d¡jjdrìt‚dS) Nrr    Z C_CONTIGUOUSÚFZ F_CONTIGUOUSÚKz6order must be one of 'C', 'F', 'A', or 'K' \(got 'Q'\)rCÚQÚC)
r
r Z_ndarrayÚflagsr rErr,r-r.)rrrr(rHZarr_ncrrrÚtest_copy_orders8
 
 z$NDArrayBacked2DTests.test_copy_orderN)r'rerfrnrrrrrh srh)Ú__doc__Únumpyr2r,Zpandas._libs.missingrZpandas.core.dtypes.commonrrZpandasrZpandas.core.arrays.integerrZ pandas.tests.extension.base.baserrrhrrrrÚ<module>s   z