zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°d\ã@sTddlZddlmZmZmZmZddlZddlm    Z
ddl m Z Gdd„de ƒZ dS)éN)Ú is_bool_dtypeÚis_numeric_dtypeÚis_object_dtypeÚis_string_dtype)ÚBaseExtensionTestsc@sjeZdZdZdd„Zej dddg¡dd„ƒZd    d
„Z    d d „Z
d d„Z dd„Z dd„Z dd„Zdd„ZdS)ÚBaseGroupbyTestszGroupby-specific tests.c
Csht ddddddddg|dœ¡}| d¡jjd}| d¡jjd}t |j|jj    ¡t 
|j|¡dS)NÚBÚAÚC©r    rr) ÚpdÚ    DataFrameÚgroupbyZgrouperZ    groupingsÚtmZassert_numpy_array_equalZgrouping_vectorr    ÚvaluesZassert_extension_array_equal)ÚselfÚdata_for_groupingÚdfZgr1Zgr2©rúZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/base/groupby.pyÚtest_grouping_groupersÿz&BaseGroupbyTests.test_grouping_grouperÚas_indexTFc    
Cs¢t ddddddddg|dœ¡}|jd|dj ¡}tj|dd    \}}|r|tj|dd
}tjd d d g|dd}| ||¡n"t |d d d gdœ¡}|     ||¡dS)Néééér r)rT©Úsort©Únameç@çð?ç@r    ©Úindexr)rr    )
r r rr    ÚmeanÚ    factorizeÚIndexÚSeriesÚassert_series_equalÚassert_frame_equal)    rrrrÚresultÚ_Zuniquesr$ÚexpectedrrrÚtest_groupby_extension_aggs z+BaseGroupbyTests.test_groupby_extension_aggc
Cs–t ddddddddg|dœ¡}|jddddg}| d¡}| d¡ d    d
i¡}| ||¡| d¡ d
¡}| ||¡| d¡ ¡}| ||¡dS) Nrrrrr rér    rÚfirst)r r ÚilocZ    set_indexrÚaggr*r0)rrrr-r+rrrÚtest_groupby_agg_extension*s 
  z+BaseGroupbyTests.test_groupby_agg_extensioncCstt dt d¡t d¡t d¡dœi¡}t tjdddgddddd    gd
œ¡}| d ¡}|jd d }| ||¡dS)NÚtdz0 days 01:00:00z0 days 01:15:00)rrrz0 days 00:15:00ztimedelta64[ns])ÚdtypeÚaÚb)r4Úgrpsr8)r4Zcumsum)r4)r r Z    Timedeltar(rr2r*)rr-rÚgbr+rrrÚBtest_groupby_agg_extension_timedelta_cumsum_with_named_aggregation:s&ýÿÿ    þûÿ    
 zSBaseGroupbyTests.test_groupby_agg_extension_timedelta_cumsum_with_named_aggregationc
Cszt ddddddddg|dœ¡}|jdddj ¡}tj|dd\}}tj|dd    }tjd
d d g|d d}| ||¡dS)Nrrrrr rFrrr!r r"r    r#)    r r rr    r%r&r'r(r))rrrr+r,r$r-rrrÚtest_groupby_extension_no_sortRs  z/BaseGroupbyTests.test_groupby_extension_no_sortcCsf|| ¡}t ddddddg|dœ¡}| d¡j t¡}tjddddddgdd}| ||¡dS)    Nrrrr rrr    r)    Zisnar r rr    Z    transformÚlenr(r))rrZvalidrr+r-rrrÚ test_groupby_extension_transform[s
z1BaseGroupbyTests.test_groupby_extension_transformc
Csxt ddddddddg|dœ¡}|jddd |¡|jdddj |¡|jd    dd |¡|jd    ddj |¡dS)
Nrrrrr rF)Z
group_keysr    )r r rÚapplyr    r)rrZgroupby_apply_oprrrrÚtest_groupby_extension_applyds
 z-BaseGroupbyTests.test_groupby_extension_applyc
Cs¨t ddddddddg|dœ¡}| d¡j dd„¡}tj|jjd    dd
gj|jjddgj|jjdd gj|jjd gjgtjddddgdd dd}|     ||¡dS)Nrrrrr r    cSs|jS)N)Úarray)ÚxrrrÚ<lambda>móz>BaseGroupbyTests.test_groupby_apply_identity.<locals>.<lambda>réér/rrr#)
r r rrr>r(r1r@r'r))rrrr+r-rrrÚtest_groupby_apply_identityks üø
z,BaseGroupbyTests.test_groupby_apply_identityc Csæt ddddddddg|ddddddddgdœ¡}|j}t|ƒslt|ƒsl|jdkslt|ƒslt|ƒsl|jdkrŒt     dd    g¡}| 
d
¡  ¡j }nJt     d    g¡}t jtd d | 
d
¡  ¡j W5QRX| 
d
¡j d dj }t ||¡dS)Nrrrr)r    rr
ÚdecimalÚmrr
r    zdoes not support)ÚmatchT)Z numeric_only)r r r5rrrrrÚkindr'rÚsumÚcolumnsÚpytestZraisesÚ    TypeErrorrZassert_index_equal)rrrr5r-r+rrrÚtest_in_numeric_groupbyzs4ýÿÿþýüûú z(BaseGroupbyTests.test_in_numeric_groupbyN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrMÚmarkZ parametrizer.r3r:r;r=r?rFrOrrrrrs
 
        r)rMZpandas.core.dtypes.commonrrrrZpandasr Zpandas._testingZ_testingrZ pandas.tests.extension.base.baserrrrrrÚ<module>s