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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
U
®ý°d*Gã@sˆddlmZddlZddlZddlZddlmZmZddl    m
m Z ddl mZmZmZmZmZddlmZddlmZejdd„ƒZejde d    d
d d ejd d    d ejd
g
¡gde ddddejdddejdg
¡gde ddddejdddejdg
¡gde ddddejdddejdg
¡gde ddddejdddejdg
¡ggddd„ƒZejdddd d!ejd"e  d#¡d$ejd%e  d#¡d$gdd&d'„ƒZGd(d)„d)ƒZ ej! "d*dgd+gfddgd,d+gfddgd+d+gfdddgd-d.d+gfdddgd,d+d+gfdddgd+d.d-gfdddddgd-d-d+d+d.gfddddddgd-d-d.d.d+d+gfd/d0d1d2d3gd4d5d6d7d+gfg    ¡d8d9„ƒZ#ej! "d*dgd+gfddgd,d+gfddgd,d,gfdddgd-d.d+gfdddgd-d.d.gfdddgd+d.d-gfdddddgd4d4d7d7d6gfddddddgd:d:d,d,d;d;gfd/d0d1d2d3gd4d5d6d7d+gfg    ¡d<d=„ƒZ$ej! "d*dgd+gfddgd,d+gfddgd+d+gfdddgd-d.d+gfdddgd-d+d+gfdddgd+d.d-gfdddddgd5d5d+d+d6gfddddddgd-d-d.d.d+d+gfd/d0d1d2d3gd4d5d6d7d+gfg    ¡d>d?„ƒZ%ej! "d*dgd+gfddgd,d+gfddgd@d@gfdddgd-d.d+gfdddgd-d;d;gfdddgd+d.d-gfdddddgdAdAdBdBd6gfddddddgdCdCdDdDdEdEgfd/d0d1d2d3gd4d5d6d7d+gfg    ¡dFdG„ƒZ&ej! "d*dgd+gfddgd,d+gfddgd,d+gfdddgd-d.d+gfdddgd-d.d+gfdddgd+d.d-gfdddddgd4d5d7d+d6gfddddddgd:d-d,d.d;d+gfd/d0d1d2d3gd4d5d6d7d+gfg    ¡dHdI„ƒZ'ej!j(dJdK„ƒZ)dS)Lé)ÚchainN)ÚInfinityÚ NegInfinity)ÚNAÚNaTÚSeriesÚ    TimestampÚ
date_range)ÚCategoricalDtypec Cs tddddtjdddtjdg
ƒS)Nééééé)rÚnpÚnan©rrú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/methods/test_rank.pyÚsersrÚaveragegø?g@ç@g @g @Úminr rér éÚmaxrér ÚfirstÚdense)ÚparamscCs|jS©N©Úparam©ÚrequestrrrÚresultss
r$ÚobjectÚfloat64Úint64ÚFloat64ZInt64úfloat64[pyarrow]Úpyarrow©Zmarkszint64[pyarrow]cCs|jSrr r"rrrÚdtype*s r,c@súeZdZejdd„ƒZdd„Zdd„Zej     
dde g¡d    d
„ƒZ ejej     
d d d g¡ej     
ddddddg¡ej     
ddddg¡ej     
ddde ƒeƒfdejejej fdeejej fejdeejej e d¡dg¡dd „ƒƒƒƒƒZd!d"„Zejej     
ddddddg¡ej     
d#ejd$gejd%gejd&gg¡d'd(„ƒƒƒZej     
d)d*gd*gfd+gd*gfd$gd*gfd+d+gd*d*gfd*d+d,gd*d+d,gfd-d+d*gd,d+d*gfd*d*d.d.d,gd*d*d,d,d+gfd/d0d1d2d3gd*d+d,d-d.gfg¡d4d5„ƒZd6d7„Zd8d9„Zd:d;„Zd<d=„ZdS)>ÚTestSeriesRankc CsNddlm}tj|ddd…<d|ddd…<| ¡}| d¡ ¡}t ||¡t |¡}|     tj
¡}t ||ƒ|j dd    }tj||<t ||¡t t  d
¡ d¡ƒ}| ¡}    | t¡ ¡}t |    |¡t t  d
¡ƒd }|d }|jd d}    t |    |¡t t dd¡ƒ}t t dd¡ƒ}|jd d}    t |    |¡| d¡}tj|d<t t dd¡ƒ}tj|d<|jd d}    t |    |¡t t  d
¡ƒd }tj|d<|d}|jd d}    t |    |¡t t tjd¡ƒ}| ¡}|jd d}    t |    |¡t t  d
¡ddd}tj|d<|d}|jd d}    t |    |¡tdd
d}
t t  d
¡|
ddd}tj|jd<|d}|jd d}    t |    |¡t ddddddgƒ}t dddd
ddgƒ}| ¡}    t |    |¡t dd d!tgd"d}t dddtjgƒ}| ¡}    t |    |¡tjd#d$d%d&d'dd(dd)dd*g d+d} tj t| ƒ¡} t | | ƒ}t | d d+d}| ¡}    t |    |¡dS),Nr©Úrankdatarç@é
r ÚOÚts)ÚindexÚnamerçð?ç@T©Úpctr édg)\Âõ(à?Úfloatg¥@­_)à?r ©r,z1/1/1990)Zperiodsg¸ÔJzî5g0Žä.ÿ++g#B’ ¡œÇ;g{®Gáz„?gIfœ ¡œÇ;gš™™™™™¹?ç@z3 dayz    1 day 10mz-2 dayzm8[ns]iÎÿÿÿéÿÿÿÿg#B’ ¡œÇ»gÙ}ÚõÐò¾ºg¸ÔJzgœWw'&l¡7g»½×Ùß|Û=é(r&)Ú scipy.statsr/rrÚrankÚastypeÚtmÚassert_series_equalÚisnanZfillnaÚinfrr4ÚarangeÚrepeatr;Úcopyr    ZilocrÚarrayÚrandomZ permutationÚlen) ÚselfZdatetime_seriesr/ÚranksZoranksÚmaskZfilledÚexpÚiseriesZiranksÚrngÚvaluesZ random_orderrrrÚ    test_rank:s„  
 
 
 
 
 
 
        þ zTestSeriesRank.test_rankc
CsVtddddddgƒ}tddddddgƒ}tddd    d
d d gƒ tddd    d
d d gd d¡}t | ¡|¡t |jdd|¡tddd    d
d d gƒ tddd    d
d d gdd¡}tddddddgƒ}| ¡}t ||¡tddddddgƒ tddddddgdƒ¡}tddddddgƒ}| ¡}    t |    |¡tddd    d
d d tjgƒ tddd    d
d d dgd ƒ¡}
tdddddddgƒ} tdddddddgƒ} tddddddtjgƒ} t |
jdd| ¡t |
jdd| ¡t |
jdd| ¡tdddddddgƒ} tdddddddgƒ} tddddddtjgƒ} t |
jddd| ¡t |
jddd| ¡t |
jddd| ¡d}tj    t
|d|
jd ddW5QRXtj    t
|d|
jd ddW5QRXtddd    d
tjgƒ tddd    d
gd ƒ¡}
td!d"d#dd$gƒ} td$d!d"d#dgƒ} td%d&d'dtjgƒ} t |
jdd d(| ¡t |
jdd d(| ¡t |
jdd d(| ¡dS))Nr6g@g@r0r7r=rÚsecondÚthirdZfourthZfifthZsixthT)Ú
categoriesÚorderedF©Ú    ascendingr rr r rrZseventhrÚtop)Ú    na_optionÚbottomÚkeep)r\rZz3na_option must be one of 'keep', 'top', or 'bottom'©ÚmatchÚbad皙™™™™Ù?ç333333ã?皙™™™™é?皙™™™™É?çÐ?çà?çè?)r\r9) rrBr
rCrDrArÚNaNÚpytestÚraisesÚ
ValueError)rMrPZexp_descrXÚ    unorderedZ exp_unorderedÚresZ
unordered1Zexp_unordered1Zres1Zna_serZexp_topZexp_botZexp_keepÚmsgrrrÚtest_rank_categorical–s„ÿþýÿþý ÿ ÿþý     ÿÿz$TestSeriesRank.test_rank_categoricalc    CsDtddgƒ}|jddd}tjt|d| d¡W5QRXdS)Nrr r©Úmethodz,No axis named average for object type Seriesr_)rrArjrkrl)rMÚsrorrrÚtest_rank_signatureîs
  z"TestSeriesRank.test_rank_signaturer,NcCs>|\}}|dkr|n| |¡}|j|d}t |t|ƒ¡dS)Nrq)rBrArCrDr)rMrr$r,rrrPÚresultrrrÚtest_rank_tie_methodsõs z$TestSeriesRank.test_rank_tie_methodsrZTFrrrrrrrr\r[r]r^z!dtype, na_value, pos_inf, neg_infr%r&r(r)r*r+c    Csˆ|dkr|dkrd}q d}nd}d}    |g|    |g|    |g|    }
t|
|d} dddgdddgd    d    d    gfd
d
d
gd d d gd d d gfdddgd d d gdddgfd
ddgd dd gd d    dgfd
d
d
gdddgdddgfdœ} | |} |dkrþ| d
| d| dg}n<|dkr | d| d| d
g}n| dtjg|    | d
g}|rD|n |ddd…}tt |¡ƒ}| j|||d}t |t||d¡dS)Nr)rzuint64[pyarrow]r&r r<rrrr r rré    )rrrrrr[rr]r>)rrr\rZ)    rrrÚlistrÚ from_iterablerArCrD)rMrrr\rZr,Zna_valueZpos_infZneg_infZ    exp_dtypeÚchunkZin_arrrQZ    exp_ranksrNÚorderÚexpectedrurrrÚ"test_rank_tie_methods_on_infs_nansüs0 û
z1TestSeriesRank.test_rank_tie_methods_on_infs_nanscCsNtdtjtjtj dgƒ}|jdd}tdtjdddgdd    }t ||¡dS)
Nr éFrYr r rr&r<)rrrrFrArCrD)rMrQrurPrrrÚtest_rank_desc_mix_nans_infs0s z+TestSeriesRank.test_rank_desc_mix_nans_infsz    op, valuerg€„.Agíµ ÷ư>c s´ddlm}tj d¡‰t ‡fdd„tdddƒDƒ¡‰tj ˆ¡dd„ttˆƒƒDƒ}|ˆ|ƒ}t    ||d}|j
|d    }|||d
krŒ|nd ƒ}    t    |    |d  d ¡}
t   ||
¡dS) Nrr.rwcsg|]}ˆ|d…‘qSrr©Ú.0Úi©ÚxsrrÚ
<listcomp>Fsz;TestSeriesRank.test_rank_methods_series.<locals>.<listcomp>rcSsg|]}ttdƒ|ƒ‘qS)Úa)ÚchrÚordr€rrrr…Is)r4rqrZordinalr&)r@r/rrKZrandnZ concatenateÚrangeÚshufflerLrrArBrCrD) rMrrÚopÚvaluer/r4Úvalsr3ruZsprankr|rrƒrÚtest_rank_methods_series8s    
  z'TestSeriesRank.test_rank_methods_seriesúser, expr rr r réûÿÿÿéüÿÿÿéýÿÿÿéþÿÿÿr>cCs:t|ƒ |¡}|jdd}t|ƒ |j¡}t ||¡dS)Nrrq©rrBrAr,rCrD)rMr,rrPrsrur|rrrÚtest_rank_dense_methodQs z%TestSeriesRank.test_rank_dense_methodc
Cs~|\}}d|kr| ¡}n
| |¡}|jdd}| ¡| ¡}t ||¡| ¡|j|d}|j|dd}    t |    |¡dS)Nr‚FrYrq)rrrZ)ÚdropnarBrArrCrD)
rMrr$r,rrÚ_rsrnr|Zres2rrrÚtest_rank_descendingds
 
  z#TestSeriesRank.test_rank_descendingcCsF|\}}| ¡ d¡}|j|d}t|ƒ ¡}|j|_t ||¡dS)NÚi8rq)r–rBrArr4rCrD)rMrr$rrrPrsrur|rrrÚ test_rank_intss   zTestSeriesRank.test_rank_intcCs@ttjgdƒ t¡jddttjgdƒ t¡jdddS)Né TrYF)rrrrBr%rA)rMrrrÚtest_rank_object_bug|sz#TestSeriesRank.test_rank_object_bugcCs4ttdƒtgƒ}| ¡}| ¡|}t ||¡dS)Nz2017-01-05 10:20:27.569000)rrrrIrArCrD)rMrsr|rurrrÚtest_rank_modify_inplaceƒs
z'TestSeriesRank.test_rank_modify_inplace) Ú__name__Ú
__module__Ú __qualname__ÚtdZskip_if_no_scipyrTrprtrjÚmarkÚ parametrizer%rvrrrrrFrr!Ú
skip_if_nor}rÚoperatorÚaddÚmulrŽr•r˜ršrœrrrrrr-9sj
[X
ûüþ!ýþ
 
 
øþ
    r-rr6rggUUUUUUÕ?gUUUUUUå?rr‘r’r“r>rerbrcrdcCs<t|ƒ |¡}|jddd}t|ƒ |j¡}t ||¡dS)NrT©rrr9r”©r,rrPrsrur|rrrÚtest_rank_dense_pct‘srªgUUUUUUÅ?g«ªªªªªê?cCs<t|ƒ |¡}|jddd}t|ƒ |j¡}t ||¡dS)NrTr¨r”r©rrrÚtest_rank_min_pct¦sr«cCs<t|ƒ |¡}|jddd}t|ƒ |j¡}t ||¡dS)NrTr¨r”r©rrrÚtest_rank_max_pct»sr¬rhg333333Ó?gÍÌÌÌÌÌì?rfg«ªªªªªâ?gUUUUUUí?cCs<t|ƒ |¡}|jddd}t|ƒ |j¡}t ||¡dS)NrTr¨r”r©rrrÚtest_rank_average_pctÐsr­cCs<t|ƒ |¡}|jddd}t|ƒ |j¡}t ||¡dS)NrTr¨r”r©rrrÚtest_rank_first_pctåsr®cCs.tt d¡ƒ}|jdd ¡}|dks*t‚dS)NiTr8r )rrrGrArÚAssertionError)rsrurrrÚtest_pct_max_many_rowsúsr°)*Ú    itertoolsrr¥ÚnumpyrrjZpandas._libs.algosrrZpandas.util._test_decoratorsÚutilZ_test_decoratorsr¡Zpandasrrrrr    Zpandas._testingZ_testingrCZpandas.api.typesr
ZfixturerrJrr$r!r¤r,r-r¢r£rªr«r¬r­r®Z
single_cpur°rrrrÚ<module>sÒ   
$$$$$ûÿ    
ùÿ
Z
÷þ
 
÷þ
 
÷þ
 
÷þ
 
÷þ