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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
U
­ý°d\ã8@s`ddlmZddlZddlZddlZddlmZmZmZm    Z    ddl
m Z dd„Z dd„Zej dd    gd    d
gg¡ejjd d d „dDƒe d¡e d¡e d¡e d¡e d¡gejdddejdddejdddejdddejdddge d¡e d¡e d¡e d¡e d¡e d¡e d¡e d¡e d¡e d¡ge d¡ d¡e d¡ d¡e d¡ d¡e d¡ d¡e d¡ d¡ggdd„dej dddddddddgfdddddd dd!gfdddddd ddgfdddd!d!d"d!dgfd#ddd d dd dgfd#ddd"d"d d"d!gfd#ddd$d$d d$dgfd#ddd%d%d"d%dgfd&ddd$d$dd$dgfd&ddd%d%d d%d!gfd&ddddd ddgfd&ddd d d"d dgfd'ddd ddd$dgfd'ddd"dd d%d!gfd'ddd$dd ddgfd'ddd%d!d"d dgfd(ddd d d$d dgfd(ddd)d)d d)d*gfd(ddd$d$d d$dgfd(ddd d d)d d*gfg¡d+d,„ƒƒƒZej dd    gd    d
gg¡ej d ej ej ejd ejejejgg¡ej d-ddd.d/d/ejd0ejd1d1gfddd2d3d3d/dd/d4d4gfddd5d/d/d4d$d4d1d1gfddd.d1d1ejd0ejd/d/gfddd2d4d4d/dd/d3d3gfddd5d1d1d4d$d4d/d/gfd#dd.d d ejd$ejddgfd#dd2d$d$d dd d6d6gfd#dd5d d d6d$d6ddgfd#dd.ddejd$ejd d gfd#dd2d6d6d dd d$d$gfd#dd5ddd6d$d6d d gfd&dd.ddejd$ejddgfd&dd2dddddd7d7gfd&dd5ddd7d$d7ddgfd&dd.ddejd$ejddgfd&dd2d7d7dddddgfd&dd5ddd7d$d7ddgfd'dd.d dejd$ejddgfd'dd2d$dd ddd6d7gfd'dd5d dd6d$d7ddgfd'dd.ddejd$ejd dgfd'dd2d6d7d ddd$dgfd'dd5ddd6d$d7d dgfd(dd.d d ejdejd$d$gfd(dd2ddd d$d ddgfd(dd5d d dddd$d$gfd(dd.d$d$ejdejd d gfd(dd2ddd d$d ddgfd(dd5d$d$dddd d gfg¡d8d9„ƒƒƒZej dd    gd    d
gg¡ejjd d:d „d;Dƒe d¡e d¡eje d¡e d¡e d¡ejejgejdddejdddejejdddejdddejdddejejge d¡e d¡e d¡e d¡eje d¡e d¡e d¡e d¡e d¡e d¡ejejge d¡ d¡e d¡ d¡eje d¡ d¡e d¡ d¡e d¡ d¡ejejggd<d„dej d=ddd.dddejdddejejgfddd.dddejd dd!ejejgfddd.dddejd ddejejgfddd.dd!d!ejd"d!dejejgfd#dd.dd d ejdd dejejgfd#dd.dd"d"ejd d"d!ejejgfd#dd.dd$d$ejd d$dejejgfd#dd.dd%d%ejd"d%dejejgfd&dd.dd$d$ejdd$dejejgfd&dd.dd%d%ejd d%d!ejejgfd&dd.dddejd ddejejgfd&dd.dd d ejd"d dejejgfd'dd.dd dejdd$dejejgfd'dd.dd"dejd d%d!ejejgfd'dd.dd$dejd ddejejgfd'dd.dd%d!ejd"d dejejgfd(dd.dd d ejd$d dejejgfd(dd.dd)d)ejd d)d*ejejgfd(dd.dd$d$ejd d$dejejgfd(dd.dd d ejd)d d*ejejgfddd5dddd7dddd7d7gfddd5dd>d>d?d@d>dAd?d?gfddd5dddd7d ddd7d7gfddd5ddAdAd?dBdAd>d?d?gfd#dd5dd d d6dd dd6d6gfd#dd5ddBdBdCd@dBdAdCdCgfd#dd5dd$d$d6d d$dd6d6gfd#dd5ddDdDdCdBdDd>dCdCgfd&dd5dd$d$dEdd$ddEdEgfd&dd5ddDdDd d@dDdAd d gfd&dd5ddddEd dddEdEgfd&dd5dd@d@d dBd@d>d d gfd'dd5dd dd6dd$dd7dEgfd'dd5ddBd>dCd@dDdAd?d gfd'dd5dd$dd6d ddd7dEgfd'dd5ddDdAdCdBd@d>d?d gfd(dd5dd d dd$d dddgfd(dd5dd>d>d dCd>dAd d gfd(dd5dd$d$dd d$dddgfd(dd5ddCdCd d>dCdAd d gfg(¡dFdG„ƒƒƒZej dHdd$d$d$d$d$gfdd%d%d%d%d%gfg¡dIdJ„ƒZej dKdLdMdNdOdPdQg¡ej dRddg¡dSdT„ƒƒZej dUdd#d&d'd(g¡ej dVddg¡ej dWd.d2d5g¡ej dXddg¡ej d dYdYdZdYd[gdYejdZejd[gg¡d\d]„ƒƒƒƒƒZej dWdd^d_g¡ej dUdd#d&d'd(g¡ej dVddg¡ej dXddg¡ej d dYdYdZdYd[gdYejdZejd[gd_ejd`ejd0gg¡dadb„ƒƒƒƒƒZdcdd„Zej ded_d`gd_d_gd d gfd_d_d`d`gd_d`d_d`gdAd dAd gfd_d_d`d`gd_d`d_ejgdAd d ejgfd_d_d`gd_d`ejgdAd ejgfg¡dfdg„ƒZdhdi„Zej djddg¡dkdl„ƒZdmdn„Z dodp„Z!dqdr„Z"dsdt„Z#dudv„Z$dS)wé)ÚdatetimeN)Ú    DataFrameÚNaTÚSeriesÚconcatc    Cs~tjgdd}t|ƒ}| ¡}d}| |¡}tjt|d| ¡W5QRX| |¡}tjt|d| ¡W5QRXdS)NF©Zorderedz0Cannot perform rank with non-ordered Categorical©Úmatch)    ÚpdÚ CategoricalrZto_frameÚgroupbyÚpytestÚraisesÚ    TypeErrorÚrank)ÚcatZserÚdfÚmsgÚgbÚgb2©rúUd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/test_rank.pyÚ)test_rank_unordered_categorical_typeerrors
 
rcCst dd¡}t dd¡}tjjdddd}tjjdddd}ttj d¡| |¡| |¡dœƒ}| dd    g¡j     
¡}d
d „| dd    g¡Dƒ}t |dd }|  |j ¡}t ||¡| dd    g¡j    j
d d}dd „| dd    g¡Dƒ}t |dd }|  |j ¡}t ||¡dS)Né
édé‚riô)Úsize)ÚvalueÚkey1Úkey2rrcSsg|]\}}|j ¡‘qSr©rr©Ú.0ÚkeyZpiecerrrÚ
<listcomp>1sz#test_rank_apply.<locals>.<listcomp>©ÚaxisT©ÚpctcSsg|]\}}|jjdd‘qS)Tr'r r!rrrr$8s)ÚtmZ rands_arrayÚnpÚrandomÚrandintrZrandnZtaker rrrZreindexÚindexÚassert_series_equal)Zlev1Zlev2Zlab1Zlab2rÚresultÚexpectedrrrÚtest_rank_apply!s,  
ýÿ    ÿ  r1ÚgrpsZquxZquuxÚvalscCs$g|]}tjdddddg|d‘qS©ééé©Údtype)r*Úarray©r"r9rrrr$Csÿr$) Úi8Úi4Úi2Úi1Úu8Zu4Úu2Úu1Úf8Úf4Úf2z
2018-01-02z
2018-01-08z
2018-01-06z
US/Pacific©ÚtzÚDcCs t|dƒS©Nr©Útype©ÚxrrrÚ<lambda>eórN)Úidszties_method,ascending,pct,expZaverageTFç@g@g@gš™™™™™Ù?çð?gš™™™™™é?gš™™™™™É?Úminç@g333333ã?ÚmaxÚfirstÚdenseçUUUUUUÕ?çUUUUUUå?c CsŠt |t|ƒ¡}|}t|ƒt|ƒ}t|tjƒr@tj||jd}t||dœƒ}|     d¡j
|||d}    t|t|ƒdgd}
t   |    |
¡dS)Nr8©r#Úvalr#)ÚmethodÚ    ascendingr(r[©Úcolumns© r*ÚrepeatÚlenÚlistÚ
isinstanceZndarrayr:r9rr rr)Úassert_frame_equal) r2r3Ú ties_methodr]r(Úexpr#Ú    orig_valsrr/Úexp_dfrrrÚtest_rank_args@sA rjz#ties_method,ascending,na_option,expZkeepçø?ég@Útopç @g@Úbottomg@g@c
Csft |t|ƒ¡}|t|ƒ}t||dœƒ}| d¡j|||d}t|t|ƒdgd}    t ||    ¡dS)NrZr#)r\r]Ú    na_optionr[r^)r*rarbrr rr)re)
r2r3rfr]rprgr#rr/rirrrÚtest_infs_n_nanss) 
ÿrqc Cs0g|](}tjddtjdddtjtjg|d‘qSr4)r*r:Únanr;rrrr$Åsÿ)rCrDrEcCs t|dƒSrIrJrLrrrrNórOz'ties_method,ascending,na_option,pct,expgÐ?gì?gä?çà?gÀ?gè?gØ?g @c CsŒt |t|ƒ¡}|}t|ƒt|ƒ}t|tjƒr@tj||jd}t||dœƒ}    |         d¡j
||||d}
t|t|ƒdgd} t   |
| ¡dS)Nr8rZr#©r\r]rpr(r[r^r`) r2r3rfr]rpr(rgr#rhrr/rirrrÚtest_rank_args_missingÂsr 
ÿruzpct,expc Cs\tddddddddddg
dgddœƒ}| d¡j|d}t|dd    gd
}t ||¡dS) NÚaÚbérrZr#r'r5r[r^©rr rr)re)r(rgrr/rirrrÚtest_rank_resets_each_groupÃs "ÿrzr9Úint64Úint32Zuint64Zuint32Úfloat64Úfloat32ÚuppercCs¨|r(|d ¡|dd…}| dd¡}tdgddgddœƒ}|d |¡|d<|dj|ksft‚| d    ¡ ¡}td
d
d
d
gdgd }|r˜| d ¡}t     ||¡dS) NrrxZUiZUIrvérZr[r#g@r^ZFloat64)
rÚreplacerÚastyper9ÚAssertionErrorr rr)re)r9rrr/rirrrÚtest_rank_avg_even_valsÏs 
r„rfr]rpr(ÚbarÚfooZbazc Cs²tdgd|dœƒ}|d ¡}| d¡}|j||||d}| ¡rhtdgddtjdtjd    gdœƒ}    ntdgdddddd    gdœƒ}    |     d¡}
|
j||||d} t || ¡dS)
Nr†érZr[r#rtrr5rx)    rZisnar rÚanyr*rrr)re) rfr]rpr(r3rÚmaskrÚresZdf2rÚaltrrrÚtest_rank_object_dtypeãs 
$
ÿrŒÚbadrxr5c    CsNtdgd|dœƒ}d}tjt|d| d¡j||||dW5QRXdS)Nr†r‡rZz3na_option must be one of 'keep', 'top', or 'bottom'rr#rt)rr rÚ
ValueErrorr r)rfr]rpr(r3rrrrrÚtest_rank_naoption_raisesÿs 
ÿrcCsŠd}tdddgdtjdgdœƒ}| |¡jjdd}td    tjdgd
d }t ||¡| |¡jdd}td
d    tjdgiƒ}t     ||¡dS) NÚArrxrRrQ©rÚBTr'rsr’©Úname)
rr*rrr r’rrr)r.re)Úcolumnrr/r0rrrÚtest_rank_empty_groups r–z"input_key,input_value,output_valuecCs>t||dœƒ}| d¡jddd}td|iƒ}t ||¡dS)Nr‘rrWT©r\r(r’ry)Z    input_keyZ input_valueZ output_valuerr/r0rrrÚtest_rank_zero_div#s  r˜cCs„tdddgt tj¡jt tj¡jt tj¡jgttdddƒtgdœƒ}| d¡     ¡}tdddgtj
dtj
gdœƒ}t   ||¡dS)    Nrxr5iÑ)ÚgrpÚint_colÚ datetimeliker™rRrQ)ršr›) rr*Ziinfor{rSrUrrr rÚNaNr)re©rr/r0rrrÚtest_rank_min_int5s   ýùÿ ÿržÚuse_nancCs’|r
tjnd}tddgddgd|gd|ggddgd}| dg¡djdd    d
}|rntd dtjtjgdd }ntd dddgdd }t ||¡dS)Nrléÿÿÿÿrxr5Úgroupr[r^rWTr—rsr“rXrY)r*rrrr rrr)r.)rŸZ
fill_valuerr/r0rrrÚ.test_rank_pct_equal_values_on_group_transitionKs"üù    þr¢cCsŽttddgddgdœƒtddgdd    gd
œƒd œdd }|jd dd}|jdd }t|djdd |djdd gdddgd}t ||¡dS)Nrlr€rxr5)Úcol1Úcol2r‡r7ér6)Úcol3Zcol4)rvrwr%r©Úlevelr&rvrw)r&Úkeys)rrr rr)re)rrr/r0rrrÚtest_rank_multiindexds þû þúrªcCs¤tddddgddddgd    d
d d gd œddddgd}|jddd}|jdd}t|jdjdd|jdjddgdd}t ||¡|jdd}| |¡r t‚dS©Nrxrlr‡r¥r5r€r7r6rkrng@g@)rrxr5rvrw©r-rr§r%)    rr rrÚlocr)reÚequalsrƒ)rrrŠr0r‹rrrÚtest_groupby_axis0_rank_axis1|s"
þ ,  r¯cCs~tddddgddddgd    d
d d gd œddddgd}|jddd}|jdd}|ddg tj¡}|d|d<t ||¡dSr«)rr Zcummaxr‚r*r}r)re)rrZcmaxr0rrrÚtest_groupby_axis0_cummax_axis1s"
þ  r°cCs€tdddtjgddœtjdddgdd    }| |jd
g¡jjd d d }t    dddtjgtjdddgdd d}t
  ||¡dS)NrRrQrT)rrZ20170101z
US/EasternrFr€r¬rT)r]r(r)r-r”) rr*rrr
Ú    Timestampr r-rrrr)r.rrrrÚtest_non_unique_index sþ ýr²cCsŠtjdddtjddgdd}tjdddtjd    d
gdd}td dd dd dg||d œƒ}| d ¡}| ¡}| t¡ d ¡ ¡}t     
||¡dS)NrvrwÚcTrrxr5rlr€r‡r)r£r¤r¦r£) r
r r*rrrr rr‚Úobjectr)re)rZcat2rrrŠr0rrrÚtest_rank_categorical¯s
rµ)%rÚnumpyr*r Zpandasr
rrrrZpandas._testingZ_testingr)rr1ÚmarkZ parametrizer±Z    to_periodrjÚinfrrrqrurzr„rŒrr–r˜ržr¢rªr¯r°r²rµrrrrÚ<module>sä  þû     ûûûêü"Ü&ìþ"ÿâþ# þø     ø ø øáü.Ð2ûûûû""û"""û"ûûûûûøûûøûûûûûûûû€Èþ>"ÿ
    ÿ ÿ ýþ
 $üþ