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
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
119
120
121
122
123
124
125
126
127
U
­ý°dm>ã@sÌddlZddlZddlZddlmZmZddlmZ    ej
  ddddddg¡ej
  d    d
d d d dgdd d d d
gfd
d d d gd d d d
gfd
d d d dgd d d d
gfdddddgdddddgfdej dej dgdej dej dgfej dej dej gej dej dej gfej ddddej ddddddd…fej dddd d¡ej ddddddd… d¡fej gdej gdfg    ¡ej
  dddddd
g¡dd„ƒƒƒZdd „Zd!d"„Zd#d$„Zd%d&„Zej
  d'd(d)g¡ej
  d*dgdd
gg¡ej
  ddd+gg¡d,d-„ƒƒƒZd.d/„Zd0d1„Zd2d3„Zej
  d4dej dej ged ƒddgd5dgfdej ddged ƒddgd5d6gfd7d8d8ej ged ƒd7d8gdd9gfdgd:gdgd;gfggejgd<d=ejgd<d=fg¡d>d?„ƒZej
  d@ejd
ddgd dAd=ejdBdCdgd dDd=g¡ej
  ddd5ddgg¡dEdF„ƒƒZej
  ddd5ddgg¡ej
  dGdBdCg¡dHdI„ƒƒZdJdK„ZdLdM„Zej
  dNdOdPdQg¡dRdS„ƒZej
  dddg¡dTdU„ƒZ ej
  dVdWdXg¡dYdZ„ƒZ!d[d\„Z"d]d^„Z#d_d`„Z$dadb„Z%dS)céN)Ú    DataFrameÚIndexÚ interpolationZlinearÚlowerÚhigherÚnearestZmidpointz a_vals,b_valséééééçð?ç@ç@ç@ç@z1/1/18ÚD)ÚfreqÚperiodséÿÿÿÿÚsÚqçÐ?çà?çè?c Cs|dkr@|dkr@t|tƒr@|ddddgkr@|j tjjdd¡t t     |¡t     |¡g¡}t     |¡j
||d    }t     |¡j
||d    }t d
gt |ƒd gt |ƒ|d œƒ}t ||gd gt d
d gddd}    |jjdkrò|    jjdjdkrò|     |j¡}    | d¡j
||d    }
t |
|    ¡dS)Nrrr r
r    rzBUnclear numpy expectation for nearest result with equidistant data)Úreason)rÚaÚb©ÚkeyÚvalr r©Úname)ÚcolumnsÚindexÚMr)Ú
isinstanceÚlistÚnodeZ
add_markerÚpytestÚmarkZxfailÚpdÚconcatÚSeriesÚquantilerÚlenrÚdtypeÚkindZdtypesÚvaluesÚastypeÚgroupbyÚtmÚassert_frame_equal) rZa_valsZb_valsrÚrequestZall_valsZ
a_expectedZ
b_expectedÚdfÚexpectedÚresult©r;úYd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/test_quantile.pyÚ test_quantile s4ÿþýüÿÿ&ÿ r=cCs tddddddgiƒ}tjdddddgtjd}| |¡ dg¡}tj ddgdgg¡}tddd    gi|d
}t     
||¡tddddgdd d d gdœƒ}tj ddgddgg¡}tjddddgtjd}| |¡ ddg¡}tddddgddddgdœ|d
}t     
||¡dS)NÚArrr    r
r ©r0rç@©r$r éé©r>ÚBrg@g@g@g@g@g@© rÚnpÚarrayÚint64r4r.r+Ú
MultiIndexÚ from_productr5r6)r8rr:r$r9r;r;r<Útest_quantile_arrayIs ÿrLc Cs¬tj d¡jdddtjd}t|tdƒd}| d¡ dd    g¡}td
d d d ddddddg
ddddddddddg
dœt    j
j dddddgdd    ggddgdd}t   ||¡dS) Nrr )é
r
)Úsizer0ÚABC©r#r>g333333Ó?çffffffæ?gÍÌÌÌÌÌì?gÍÌÌÌÌÌ@gš™™™™™@g333333 @皙™™™™ù?g333333@gffffff@gš™™™™™@çg333333ó?gffffff@gÍÌÌÌÌÌü?rgffffffþ?gÍÌÌÌÌÌ@)rEÚCrr    r
r ©ÚnamesrA)rGÚrandomZ RandomStateÚrandintrIrr'r4r.r+rJrKr5r6)Zarrr8r:r9r;r;r<Útest_quantile_array2^sþÿû    rYcCsôtdddgdddgdœƒ}tjdddgtjd}|j|d    d
 d d d g¡}td dddddgddddddgdœtj ddgd d d gg¡d}t     
||¡|j|d    d
 d d g¡}tdd ddgddddgdœtj ddgd d gg¡d}t     
||¡dS)Nrrr    r
r r rDr?F)Úsortrrrr çø?ç @rg@rArF)r8rr:r9r;r;r<Útest_quantile_array_no_sortos þ þr]cCs’tdddgdddgdddgdddgd    œƒ}| d
d g¡ d d g¡}tjjddddgd
d dgd}td d ddgddddgdœ|d}t ||¡dS)Nrrr    r
r r rr)r>rEÚcÚdr^r_rr)rrr)rrr)rrr)rrrrUrg
@g@rrDrA)rr4r.r+rJÚ from_tuplesr5r6)r8r:r$r9r;r;r<Ú#test_quantile_array_multiple_levelss$ÿ
þÿraÚ
frame_size)r    r
)édrMr4g333333ã?c s |\}‰tt ‡fdd„t|ƒDƒ¡tˆƒd}t t|dƒ¡gtˆƒˆg}‡fdd„tt|dƒƒDƒgtˆƒtttˆƒƒƒt|dƒg}tj    ||ˆdgd}‡‡‡fdd„tt|dƒƒDƒ}‡fdd„tˆƒDƒ}    t|||    d    }
| 
ˆ¡  ˆ¡} t   | |
¡dS)
Ncsg|]}ˆ|dg‘qS)r r;)Ú.0Ú_)Úncolr;r<Ú
<listcomp>–szJtest_groupby_quantile_with_arraylike_q_and_int_columns.<locals>.<listcomp>rPr csg|]}ˆD]}|‘q qSr;r;©rdÚxre©rr;r<rg™s)ÚlevelsÚcodesrVcs,g|]$}ˆD]}t|ƒgˆtˆƒ‘q qSr;)Úfloatr/rh©r4rfrr;r<rgŸscsg|]}|ˆkr|‘qSr;r;)rdri)r4r;r<rg¢s©r$r#)rrGrHÚrangeÚarangeÚminr/r'r+rJr4r.r5r6) rbr4rZnrowr8Z
idx_levelsZ    idx_codesZexpected_indexZexpected_valuesZexpected_columnsr9r:r;rnr<Ú6test_groupby_quantile_with_arraylike_q_and_int_columnss,( $ÿÿ ÿÿrsc    CsNtddgddgddggddgd}tjtdd    | d¡ ¡W5QRXdS)
NZfoorrr^rr rPz+cannot be performed against 'object' dtypes©Úmatch)rr)ÚraisesÚ    TypeErrorr4r.©r8r;r;r<Útest_quantile_raises«s"ryc    Cs€tddddddgtdƒdœƒ}| ddddddg¡}tjtdd| d¡W5QRXtjtdd| d    ¡W5QRXdS)
NrrrB©rrzGot '50.0' insteadrté2zGot '-1.0' insteadr)rrpr4r)rvÚ
ValueErrorr.)r8Úgr;r;r<Ú$test_quantile_out_of_bounds_q_raises²s r~cCsHt dtjdg¡}t|tdƒdœƒ}| d¡}tdƒD] }| ¡q6dS)Nr r
rrrc)rGrHÚnanrrpr4r.)Údatar8Úgrprer;r;r<Ú/test_quantile_missing_group_values_no_segfaults½s
 
 r‚z$key, val, expected_key, expected_valrSr@rrr[é*gE@Úfloat64r?cCs^t||dœƒ}t|t|dddgd}| d¡}| d¡}t ||¡| ¡}t ||¡dS)Nrrr!r ror)rrr4r.r5r6)rr Z expected_keyZ expected_valr8r9rr:r;r;r<Ú2test_quantile_missing_group_values_correct_resultsÈs
ÿ
 
 r…r2ZInt64TFÚbooleancCs tdgddgd|dœƒ}| d¡d |¡}t|tƒrdtjjddg|fddgd}dd    d
g}ntddgdd }d    g}tj    |d |dd d}t
  ||¡dS)Nrir
ÚyrzrrrUrSrr r!r    ÚFloat64©r$r"r0) rr4r.r&r'r+rJrKrr-r5Úassert_series_equal)r2rr8r:ÚidxZtrue_quantilesr9r;r;r<Ú$test_groupby_quantile_nullable_arrayås
 
 rŒÚ numeric_onlyc    Cs„tdgdgdgdœƒ}|rR| d¡j||d}| d¡dg |¡}t ||¡n.tjtdd    | d¡j||dW5QRXdS)
Nrrri)rrr^r)rrz7'quantile' cannot be performed against 'object' dtypes!rt)rr4r.r5r6r)rvrw)rrr8r:r9r;r;r<Ú-test_groupby_quantile_raises_on_invalid_dtypeýsÿrŽcCsÊtddgdtjgdœ|d}| d¡d d¡}tdg|dd    }|d
krN|}nd}tjdg||dd }t     ||¡| d¡d dd g¡}tjdgd tj
j |dd gfddgdd|d}t     ||¡dS)Nr皙™™™™É?©rir‡r?rir‡rr )r0r")ÚFloat32rˆ©r0r$r"rr    rUr‰) rrGrr4r.rr+r-r5rŠrJrK)Zany_float_dtyper8r:Z    exp_indexÚexpected_dtyper9r;r;r<Útest_groupby_quantile_NA_float s  ür”cCs˜tddgddgdœ|d}| d¡d d¡}tjd    gd
tdgd|d dd }t ||¡| d¡ d¡}tdd    id
tdgd|d d }t ||¡dS)Nrr    r rr?rir‡rr\rˆ)r"r0r’©r0r$)    rr4r.r+r-rr5rŠr6)Zany_int_ea_dtyper8r:r9r;r;r<Útest_groupby_quantile_NA_int$s ü ÿr–zinterpolation, val1, val2)rr    r    )rr    r
)rr    r    c    Cs˜tddddgdddtjgdœ|d}| d¡jddg|d    }td
||tjtjgi|tjjtjddddg|dddddggddgd d }t     ||¡dS) Nrr    r
rzr?rrrQ©rrrrUr•©
rr+ÚNAr4r.rJZ from_arraysr-r5r6)rZval1Zval2Úany_numeric_ea_dtyper8r:r9r;r;r<Ú)test_groupby_quantile_all_na_group_masked7sÿ þýr›c    Csªtddddgdddtjgdœ|d}| d¡jddg|d    }|d
krJ|}nd }td d dtjtjgi|tjjtjddddg|dddddggddgdd}t     ||¡dS)Nrr    r
rzr?rrrr—r‘rˆrrr@rUr•r˜)rršr8r:r“r9r;r;r<Ú0test_groupby_quantile_all_na_group_masked_interpMs&ÿ
þûý rœr0rˆr‘cCsjtddgtjgddœ|d}| d¡d d¡}tjtjg|tdg|ddd    }d|j    _
t   ||¡dS)
Nrr    rr?rir‡rr r’) rr+r™r4r.r-rGrrr$r"r5rŠ)r0r8r:r9r;r;r<Ú"test_groupby_quantile_allNA_columnjs ÿrcCsrttjt d¡ddddddgdœƒ}| d¡ d¡}td    t d
¡t d ¡gitddgdd d }t     
||¡dS)Nr r)Úunitrr    )ÚvalueÚgroupr g®Gáz®ï?rŸz0 days 00:00:00.990000z0 days 00:00:02.990000r!rA) rr+Z to_timedeltarGrqr4r.Z    Timedeltarr5r6©r8r:r9r;r;r<Útest_groupby_timedelta_quantilevs ÿþÿù    r¢cCs tt d¡ dd¡tdƒtjtdƒddd}|jdd    d
jd d gd }tddddgddddgddddggtdƒtj    j
ddddgddgdd}t   ||¡dS)Né r
rZXYZZABABÚcolr!ror)Zaxis皙™™™™é?rrjrRgš™™™™™Ù?gÍÌÌÌÌÌ@gffffffö?gffffff@gš™™™™™@gffffff@gš™™™™™@g333333#@gÍÌÌÌÌÌ @g333333%@gÍÌÌÌÌÌ"@)r>r¥)r>r)rEr¥)rErrU) rrGrqZreshaper'r+r-r4r.rJr`r5r6r¡r;r;r<Útest_columns_groupby_quantileˆs$ý
 
 
ý
ÿù r¦c    CsÄttjddddd d¡ttddƒƒttdd    ƒƒd
œƒ}| d ¡ d d g¡}tdddœdddœdddœdddœgtjj    t 
d¡d ft 
d¡d ft 
d¡d ft 
d¡d fgddd}t   ||¡dS)Nz2020-04-19 00:00:00Z1TrcÚUTC)ÚstartrrÚtzZ1HréeéÉ)Ú    timestampÚcategoryrŸr¬rr¥gš™™™™™)@g333333\@)r­rŸgš™™™™H@gfffff†b@g333333Q@gš™™™™e@gÍÌÌÌÌ W@gfffffh@z2020-04-19 00:00:00+00:00z2020-04-19 01:00:00+00:00)r¬NrUrA) rr+Ú
date_rangeÚfloorr'rpr4r.rJr`Ú    Timestampr5r6r¡r;r;r<Útest_timestamp_groupby_quantileŸs<ÿþ  ûÿ
ü    üùùr±cs¾tjddd}t |¡}| ¡‰| d¡ˆd<| d¡ˆd<||dˆd    <tjˆjd
<t     t 
d ¡d ¡}ˆ  |¡}|  d ¡}‡fdd„t d ƒDƒ}t|ƒj}|j tj¡|_t ||¡dS)Nz
2016-01-01iè)rz
US/Pacificrrr    rr
rr éÈrcs$i|]}|ˆj|dd… d¡“qS)Nr r)Úilocr.)rdÚirxr;r<Ú
<dictcomp>Òsz7test_groupby_quantile_dt64tz_period.<locals>.<dictcomp>)r+r®r-Zto_frameZ tz_localizeZ    to_periodZNaTr³rGZtilerqr4r.rprÚTr$r3Úint_r5r6)ZdtiZserZbyÚgbr:Úexpr9r;rxr<Ú#test_groupby_quantile_dt64tz_periodÂs
 
 
 
rº)&ÚnumpyrGr)Zpandasr+rrZpandas._testingZ_testingr5r*Z parametrizerr®Zas_unitr=rLrYr]rarsryr~r‚rprHr…rŒrŽr”r–r›rœrr¢r¦r±rºr;r;r;r<Ú<module>s”  ÿ"&þþìþ   "  ûþ
 
þþ  ÿ
 
 
#