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
U
­ý°d÷ã@s4ddlZddlmZddlZddlZddlZddlm    Z    m
Z
m Z m Z m Z mZddlmZejjej dde dd¡¡ej ddd    d
g¡ej d d d g¡ej dd d g¡dd„ƒƒƒƒƒZdd„Zdd„Zdd„Zdd„Zej ddddge dƒe e dƒgd e dgejdgdddd fdddge d!dd¡e e d!dd¡gd e dgejdgdddd fdddd"d"ge d!dd¡e e d!dd¡e e d!dd¡gd e ddgejdd"gdddd fddddd"ge d!dd¡e e d!dd¡e e d!dd¡gd e ddgejdd"gdddd fg¡d#d$„ƒZd%d&„Zd'd(„Zd)d*„Z dS)+éN)Úascii_lowercase)Ú    DataFrameÚ
MultiIndexÚNaTÚSeriesÚ    TimestampÚ
date_rangeÚné
ééÚmédièÚsortFTÚdropnacsd‡‡fdd„    }tddd}ttj ttƒ|¡tj ||¡tj d||¡dœƒ}||d    gƒ||d    d
gƒd|jd dd …d    f<d|jd dd…d
f<d|jddd…df<d|jddd…df<d|jddd…df<||d    gƒ||d    d
gƒ||d    gdd||d    d
gdddS)NTcs’| ¡}|j||ˆd}|djˆd}|j||ˆd}|djtjˆd}|s\|jdd}|rrtj||ddntj||ddt ||¡dS)N)Úas_indexrÚjulie©rT)ÚdropF)Z check_names)    ÚcopyÚgroupbyÚnuniqueÚapplyrZ reset_indexÚtmÚassert_series_equalÚassert_frame_equal)ÚdfÚkeysrZ original_dfZgrÚleftÚright©rr©úXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/test_nunique.pyÚ check_nuniques z2test_series_groupby_nunique.<locals>.check_nuniquez
2015-08-23r
)Zperiodsr)ÚjimÚjoerr$r%éééé%ééréé    F©r)T)    rrÚnpÚrandomÚchoiceÚlistrÚrandintÚloc)r    r rrr#ÚdaysÚframer!r r"Útest_series_groupby_nuniques&  ýÿ  r7cCs ttdƒtdƒtdƒdœƒ}ttdƒdddgdddgdœƒ}|jdd    d
 ¡}t ||¡tdƒ|_d|j_|jdd }| d¡ ¡}t ||¡|     d di¡ d¡jd    d }t ||¡tdgddgddœtdƒd}d|j_|     d di¡ d¡ ¡}t ||¡dS)NZabbaccZabxaccZabbacx)ÚAÚBÚCÚabcr&r r8Fr.©ÚcolumnsÚxrr()r9r:)Úindex)
rr2rrrrr?ÚnamerÚreplace)rÚexpectedÚresultr!r!r"Ú test_nuniqueBs  
   "rDcCs†tdddgdddgddd    gd
d d gd ddggdddgd}| ddg¡d ¡}t |j|jg¡}tdgdd|d}t     ||¡dS)Nrr&ZAliceéÈr ZBobi,r(ZCharlieipþÿÿéZDaniôéZEdithÚamountÚidr@r<)r@r?)
rrrrZ from_arraysrIrHrrr)ÚdatarCr?rBr!r!r"Útest_nunique_with_object[sûø rKcCs8tdtd}|jdd ¡}tddd}t ||¡dS)Nr@)r@Údtyper)ÚlevelÚint64)rÚobjectrrrr)rJrCrBr!r!r"Útest_nunique_with_empty_seriesns  rPcCstttdƒtdƒtdƒgdddgdœƒ d¡}| tjd    d
¡d  ¡}| tjd    d
¡d  tj¡}t     
||¡dS) Nz2016-06-28 09:35:35z2016-06-28 16:09:30z2016-06-28 16:46:28Ú1Ú2Ú3)ÚtimerJrTÚh)ÚfreqrJ) rrZ    set_indexrÚpdZGrouperrrrrr©ÚtestrCrBr!r!r"Útest_nunique_with_timegroupervsýúÿ    ÷
rZzkey, data, dropna, expectedr>z
2019-01-01r&Úkey©r@rJ)r?r@iãÚycCs6t||dœƒ}| dg¡dj|d}t ||¡dS)N)r[rJr[rJr)rrrrr)r[rJrrBrrCr!r!r"Útest_nunique_with_NaT‡sr^cCs\tdddgtjdgddd}| dddg¡ ¡}tdgt dg¡|jd}t     ||¡dS)    Nr&r r8Zlevel_0r\r<r)r?r=)
rrWÚIndexrrr/Úarrayr=rrrXr!r!r"Ú)test_nunique_preserves_column_level_names«sracCsPttddƒdgd}| dddg¡d d¡}tdddgdd    }t ||¡dS)
Nz
2008-12-31z
2009-01-02Údater<rr&rr r\)rrrZ    transformrrr)rrCrBr!r!r"Ú$test_nunique_transform_with_datetime³srccCsntdgƒ d¡}|dd…}|j||d}| ¡}|rNtg|dd…dd}ntdg|dd}t ||¡dS)Nr&Úcategoryr)ÚobservedrN)r?rL)rZastyperrrr)reÚcatZserÚgbrCrBr!r!r"Útest_empty_categorical»s rh)!ÚdatetimeÚdtÚstringrÚnumpyr/ZpytestZpandasrWrrrrrrZpandas._testingZ_testingrÚmarkZslowZ parametrizeZaranger7rDrKrPrZr_rbr^rarcrhr!r!r!r"Ú<module>sX   *üü *ü *üíþ