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
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
U
­ý°d‘Cã@spddlmZmZddlZddlZddlmZmZddlm    m
Z ddl m Z mZddlmZGdd„dƒZdS)é)ÚdatetimeÚ    timedeltaN)ÚInfinityÚ NegInfinity)Ú    DataFrameÚSeriesc@sDeZdZeddddejdddejdg
ƒZeeedœƒZe     ddd    d
ejd
dd ejdg
¡e     ddd dejddd ejdg
¡e     ddd dejddd ejdg
¡e     ddd dejddd ejdg
¡e     ddddejdddejdg
¡dœZ
e j dddddgddd„ƒZ ejdd„ƒZdd„Zdd„Zdd„Zejd d!„ƒZd"d#„Zejd$d%„ƒZe j d&d'd(d)g¡d*d+„ƒZe j d,d-dg¡e j d&d.eg¡d/d0„ƒƒZe j d1dd2d2d2gd2d3d4gd2d3d5ggfdd5d2d2gd5d5d4gd5d5d5ggfdd2d2d2gd2d4d4gd2d4d5ggfdd4d2d2gd4d3d4gd4d3d5ggfdd5d2d2gd4d5d4gd2d4d5ggfg¡d6d7„ƒZe jjd8d9„ƒZe j d:ej d;d<d=d>d?d-d@dAdBddCejg dDfej d;d<d=d>dEd-d@dAdBddCejg dFfe  ej!¡j"dddGe  ej!¡j#gdHfe  ej$¡j"dId-ddJdKdLe  ej$¡j#gdMfe%ƒdNdOdPdQdRe&ƒgdSfe'dTddƒe'dTddƒe'dTddƒgdUfg¡dVdW„ƒZ(dXdY„Z)dZd[„Z*e j d\d]d^d_d2d`gfd]dad`d2d_gfdbd^d`d_d2gfdbdad2d_d`gfg¡dcdd„ƒZ+e j d\dbd^d2d`ded_gfdbdad2d`ded_gfd]d^d`d_d2degfd]dad`d_d2degfg¡dfdg„ƒZ,e j dhdddigdddgdjœedkd2d`d_giƒfdidddigiee-dƒgdlfg¡dmdn„ƒZ.d.S)oÚTestRankééééé©ÚAÚBçø?g@ç@ç @g @ééé©ÚaverageÚminÚmaxÚfirstÚdenserrrrr)ÚparamscCs|jS)z5
        Fixture for trying all rank methods
        )Úparam)ÚselfÚrequest©r!ú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_rank.pyÚmethod"szTestRank.methodc CsLddl}ddlm}tj|jddd…df<tj|jddd…df<tj|jddd…df<tj|jddd    …d
f<| ¡}| d ¡}t |j¡}| tj    ¡j}t 
|d|¡}tj||<t 
|d |¡}    tj|    |<t   |j|¡t   |j|    ¡t tjjdd    d d  d¡ƒ}
|
 ¡} |
 t¡ ¡} t  | | ¡|
 d ¡} |
 t¡ d ¡} t  | | ¡dS)Nr©Úrankdatar rr
rr ÚCr ÚDr    é()Úsize)é
r )Ú scipy.statsr%ÚnpÚnanÚlocÚrankÚisnanÚvaluesÚfillnaÚinfÚapply_along_axisÚtmÚassert_almost_equalrÚrandomÚrandintZreshapeÚastypeÚfloatÚassert_frame_equal) rÚ float_frameÚscipyr%Úranks0Úranks1ÚmaskÚfvalsÚexp0Úexp1ÚdfÚresultÚexpr!r!r"Ú    test_rank)s. 
 
 
 
zTestRank.test_rankc    Cs†tdddgdddggƒ}tdddgdddggƒd}|jddd}t ||¡tdddgdddggƒ}| d    ¡d}|jd    dd}t ||¡td
d d gd d d
ggƒ}tdddgdddggƒ}|jdd d}t ||¡tdddgdddggƒ}|jd    d d}t ||¡td
tjd gd d d
ggƒ}tdtjdgdddggƒ}|jdd d}t ||¡tdtjdgdddggƒ}|jd    d d}t ||¡tdddƒtjtdddƒgtdddƒtdddƒtdddƒgg}t|ƒ}tdtjdgdddggƒ}|jdd dd}t ||¡tdtjdgdddggƒ}|jdd d d}t ||¡td dddddddgiƒ}td dddddddgiƒ}t | ¡|¡dS)Nr    r
r çð?ç@ç@T©ÚpctrÚbÚcÚaF©Ú numeric_onlyréÑr iÐ)rQÚ    ascendingç#B’ ¡œÇ;éûÿÿÿr*gDóÂääécLg_ûðQïüŠPg ÂëþKH´9rg@g@r)rr/r5r;r,r-r)rrDÚexpectedrEÚdatarFr!r!r"Ú
test_rank2MsF       þ  zTestRank.test_rank2cCs:ttj dd¡dd}| ¡}| ¡|}t ||¡dS)Nr*r
Úfloat64©Údtype)rr,r7ZrandnÚcopyr/r5r;©rrDrVrEr!r!r"Útest_rank_does_not_mutate~s
z"TestRank.test_rank_does_not_mutatec    CsRt ¡|d<tddd|d<|jddtjtdd|jdd    W5QRXdS)
Nrr    )ÚdaysÚsecondsrFrPz"not supported between instances of©Úmatch©Úaxis)rÚnowrr/ÚpytestÚraisesÚ    TypeError)rZfloat_string_framer!r!r"Útest_rank_mixed_frame‡s
  zTestRank.test_rank_mixed_framec     CsÀddl}ddlm}tj|jddd…df<tj|jddd…df<tj|jddd…df<tj|jddd    …d
f<|jd d }|jd d d }| tj¡j}t     |d|¡}t     |d |¡}t
  |j|¡t
  |j|¡|jdd }|jd dd }| |  ¡d   ¡¡j}    |j}
|
 |
  ¡d   ¡¡j}
|
 tj¡j}
t     |d|    ¡}t     |d |
¡}t
  |j|¡t
  |j|¡|jddd}|jd ddd}| tj¡j}t     |d| ¡}t     |d | ¡}t
  |j|¡t
  |j|¡|jd dd}|jd d dd}| |  ¡d   ¡¡j}    |j}
|
 |
  ¡d   ¡¡j}
|
 tj¡j}
t     |d|     ¡}t     |d |
¡}t
 |j|¡t
 |j|¡d} tjt| d|jdddW5QRXtjt| d|jdddW5QRXdS)Nrr$r rr
rr r&r r'Úbottom)Ú    na_optionr    ÚtopF)rkrSz3na_option must be one of 'keep', 'top', or 'bottom'raÚbadT)r+r%r,r-r.r/r2r3r1r4r5r6rÚto_dictÚTZassert_numpy_array_equalrfrgÚ
ValueError) rr<r=r%r>r?rArBrCZfval0Zfval1Úmsgr!r!r"Útest_rank_na_optionsZ   zTestRank.test_rank_na_optioncCsPtddgddggƒ}t |jdd|jdd¡t |jdd|jdd¡dS)    Nr r    r r
rrcÚindexÚcolumns)rr5r;r/)rrDr!r!r"Útest_rank_axisÝszTestRank.test_rank_axisc
CsØddl}ddlm}tj ddd¡}|dd}dd„t|jdƒDƒ}||d    |d
fD]x}t||d }d D]b}d D]X}|j||d}    t     ||||dkrž|nd¡}
|
 
tj ¡}
t|
|d  
d¡} t   |    | ¡qvqnqZdS)Nrr$é)édég$@cSsg|]}ttdƒ|ƒ‘qS)Úz)ÚchrÚord)Ú.0Úir!r!r"Ú
<listcomp>êsz4TestRank.test_rank_methods_frame.<locals>.<listcomp>r    g€„.Agíµ ÷ư>)rt)rr    r)rdr#rZordinalrY)r+r%r,r7r8ÚrangeÚshaperr/r4r9rYr5r;) rr=r%ÚxsÚcolsÚvalsrDZaxÚmrEZsprankrVr!r!r"Útest_rank_methods_frameãs&   ÿ z TestRank.test_rank_methods_framer[ÚOÚf8Úi8cCs¦d|kr|j ¡ |¡}n |j |¡}|jdd}| ¡| ¡}t ||¡| ¡|j|d}|dkr†|j|ddd}t ||¡|j|ddd}t ||¡dS)Nr}F)rS)r#r†T)r#rSrQ)rDZdropnar9r/rr5r;)rr#r[rDÚresrVZres2Zres3r!r!r"Útest_rank_descendingùs    zTestRank.test_rank_descendingrdrNcCs@|j}ddd„}|dkr|n| |¡}|||j|||ddS)NrrcSs@t||dœƒ}|dkr"|j}|j}|j||d}t ||¡dS)Nrr    ©r#rd)rror/r5r;)rDrVr#rdZexp_dfrEr!r!r"Ú_check2ds z3TestRank.test_rank_2d_tie_methods.<locals>._check2dr‹)rr)rDr9Úresults)rr#rdr[rDrŒÚframer!r!r"Útest_rank_2d_tie_methods s
 
z!TestRank.test_rank_2d_tie_methodsz
method,exprHgà?gUUUUUUå?gUUUUUUÕ?cCsFtdddgdddgdddggƒ}|j|dd}t|ƒ}t ||¡dS)    NiÜéBr
éAr r    T)r#rL)rr/r5r;)rr#rFrDrErVr!r!r"Útest_rank_pct_trues! zTestRank.test_rank_pct_truecCsBtt d¡t ddd¡dœƒ}|jdd ¡}|dk ¡s>t‚dS)NiréÿÿÿÿrTrKr    )rr,Zaranger/rÚallÚAssertionError)rrDrEr!r!r"Útest_pct_max_many_rowsFs
ÿzTestRank.test_pct_max_many_rowszcontents,dtypeiÎÿÿÿr“g#B’ ¡œÇ»gÙ}ÚõÐò¾ºg¸ÔJzgœWw'&l¡7rTg»½×Ùß|Û=r(rYg¹j7­֖¶Úfloat32rwÚuint8iœÿÿÿi'i †g _ BÚint64Ú1rZBAZBar&ÚobjectrRÚ
datetime64c CsÈtjtjdt d¡dœ}tj||d}tjtt|ƒƒddd}||kr„||}tj tt|ƒƒd¡}t |||¡}t ||tj¡}tj     t|ƒ¡}    |||    ƒ}
|||    dd} |
 
¡} t   | | ¡dS)NZnat)rYr—r›rœrZrYrHr ) r,r-rœÚarrayrÚlenr7ÚchoiceÚinsertZ permutationr/r5Ú assert_equal) rÚcontentsr[Úframe_or_seriesZ dtype_na_mapr1Z    exp_orderZna_valueZ nan_indicesZ random_orderÚobjrVrEr!r!r"Útest_rank_inf_and_nanOs">ü
 zTestRank.test_rank_inf_and_nanc
Cs¦ddddddddd    d
g
}ddddddddddg
}ddtjdddtjtjdtj g
}t||d œ|d d }| ¡}| ¡}|d ¡|d<|d ¡|d<t ||¡dS)Nr r r
r r    rrré    r*)Úcol1Úcol2r‡)rWrsr[r§r¨)r,r-r3rr/r\r5r;)rrsr§r¨rDZ    df_resultZ series_resultr!r!r"Ú"test_df_series_inf_nan_consistency¥s"þúz+TestRank.test_df_series_inf_nan_consistencycCsBtdtj dtjgiƒ}tddddgiƒ}| ¡}t ||¡dS)NrOrrHrJrI)rr,r3r/r5r;r]r!r!r"Útest_rank_both_infºszTestRank.test_rank_both_infzna_option,ascending,expectedrlTrIrJFrjcCs>|tjtjtj gƒ}|j|||d}||ƒ}t ||¡dS)N©r#rkrS)r,r3r-r/r5r¡)rr£r#rkrSrVr¤rEr!r!r"Útest_rank_inf_nans_na_optionÁs z%TestRank.test_rank_inf_nans_na_optiong@cCs8|ddddgƒ}|jd||d}||ƒ}t ||¡dS)NZfoorr«)r/r5r¡)rr£rkrSrVr¤rEr!r!r"Útest_rank_object_firstÒs
zTestRank.test_rank_object_firstz data,expectedrO)rOrMrM)rsrtc    CsFt|ƒ}tjtdd| ¡W5QRX|jdd}t ||¡dS)Nz&'<' not supported between instances ofraTrP)rrfrgrhr/r5r;)rrWrVrDrEr!r!r"Útest_rank_mixed_axis_zeroás
 z"TestRank.test_rank_mixed_axis_zero)/Ú__name__Ú
__module__Ú __qualname__rr,r-ÚsrrDrrrfZfixturer#ÚtdZskip_if_no_scipyrGrXr^rirrrur…ÚmarkZ parametrizerŠr›rr’Z
single_cpur–r3Ziinfor˜rrr™rrrr¥r©rªr¬r­rr®r!r!r!r"rs      û
 
#1    
M
 
 ýþ    þþýþîþ
    
óðóð$  ø
õ  þÌþ<
üþ    
üþ    
&þþr)rrÚnumpyr,rfZpandas._libs.algosrrZpandas.util._test_decoratorsÚutilZ_test_decoratorsr³ZpandasrrZpandas._testingZ_testingr5rr!r!r!r"Ú<module>s