zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
U
­ý°d!Èã@sîddlmZmZddlZddlZddlZddlmZmZm    Z    m
Z
m Z m Z m Z mZmZmZmZmZmZmZmZmZddlmZddlmZdd„ZeƒZGdd„dƒZGd    d
„d
ƒZGd d „d ƒZ Gd d„dƒZ!Gdd„dƒZ"Gdd„dƒZ#dS)é)ÚdatetimeÚ    timedeltaN)Ú CategoricalÚ    DataFrameÚ DatetimeIndexÚIndexÚNaTÚPeriodÚ PeriodIndexÚ
RangeIndexÚSeriesÚ    TimedeltaÚTimedeltaIndexÚ    TimestampÚ
date_rangeÚisnaÚtimedelta_rangeÚ to_timedelta)Únanopsc
sŠtjdddtjdddtjdddtjdddtjdddjddtjdddtjdddg}tj     
d¡‰‡fdd„|Dƒ}||}|S)Né
Úa)Únamez
US/Eastern©Útzcsg|]}tˆ|dd‘qS)r)Úindexr)r )Ú.0Úidx©Úarr©ú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/reductions/test_reductions.pyÚ
<listcomp>,szget_objs.<locals>.<listcomp>) ÚtmZ makeBoolIndexZ makeIntIndexZmakeFloatIndexZ makeDateIndexÚ tz_localizeZmakePeriodIndexZmakeStringIndexÚnpÚrandomÚrandn)ZindexesÚseriesÚobjsrrr Úget_objs s      ù
r)c @seZdZej dddg¡ej de¡dd„ƒƒZej dddg¡ej ddd    d
ed d d ƒfddg¡dd„ƒƒZ    ej dddg¡dd„ƒZ
ej dddg¡ej dddg¡dd„ƒƒZ dd„Z ej dddgddgg¡dd„ƒZ ej d d!d"g¡d#d$„ƒZd%d&„Zd'S)(ÚTestReductionsÚopnameÚmaxÚminÚobjcCs~t||ƒƒ}t|tƒs&t|j|ƒƒ}ntt|j|ƒƒ|jd}t|ddƒdk    rn| d¡ d¡}|j|kszt    ‚n ||kszt    ‚dS)N)ZordinalÚfreqrúM8[ns]Úint64)
ÚgetattrÚ
isinstancer
Úvaluesr    Zasi8r/ÚastypeÚ_valueÚAssertionError)Úselfr+r.ÚresultÚexpectedrrr Útest_ops6s 
zTestReductions.test_opsz
dtype, val)Úobjectç@)Úfloat64r=údatetime64[ns]éÛé é)ÚInt64é)ÚbooleanTcs|}‡fdd„}|dgˆd}|t||ƒƒƒs2t‚|t||ƒddƒsJt‚|gˆd}|t||ƒƒƒsjt‚|t||ƒddƒs‚t‚ˆdkrŽdS|d|gˆd}t||ƒƒ|ks²t‚|t||ƒddƒsÊt‚|d|dgˆd}t||ƒƒ|ksðt‚|t||ƒddƒs
t‚dS)Ncs.ˆdkr|tkSˆdkr"|tjkSt|ƒSdS)Nr?)rCrE)rÚpdÚNAr)Úres©Údtyperr Ú check_missingUs
 
z4TestReductions.test_nanminmax.<locals>.check_missingrIF©Úskipnar<)r2r7)r8r+rJÚvalÚindex_or_seriesÚklassrKr.rrIr Útest_nanminmaxFs    zTestReductions.test_nanminmaxcCsÚ|}|tkrd|nd|}|ttdddƒgƒ}t||ƒƒdksDt‚t||ƒdd}|tkrlt |¡sxt‚n |dksxt‚|ttdddƒtgƒ}t||ƒƒdks¢t‚t||ƒdd}|tkrÊt |¡sÖt‚n |dksÖt‚dS)    NÚargrr@rArBFrLéÿÿÿÿ)rrrr2r7r r$Úisnan)r8r+rOrPÚarg_opr.r9rrr Útest_nanargminmaxqs z TestReductions.test_nanargminmaxrJr0zdatetime64[ns, UTC]c    Cs¨|}|tkrd|nd|}|g|d}t||ƒƒtks<t‚t||ƒddtksTt‚tjtddt||ƒƒW5QRXtjtddt||ƒddW5QRXdS)NrRrrIFrLzempty sequence©Úmatch)rr2rr7ÚpytestÚraisesÚ
ValueError)r8r+rOrJrPrUr.rrr Útest_nanops_empty_objectˆs z'TestReductions.test_nanops_empty_objectcCs°ttjdddƒ}| ¡dks"t‚| ¡dks2t‚ttjdtjdgƒ}| ¡dksVt‚| ¡dksft‚|jd    d
d kszt‚|jd    d
d ksŽt‚ttjgƒ}| ¡d ksªt‚| ¡d ksºt‚|jd    d
d ksÎt‚|jd    d
d ksât‚tttd d dƒtd d dƒtgƒ}| ¡dkst‚| ¡dks&t‚|jd    d
d ks<t‚|jd    d
d ksRt‚ttgƒ}| ¡d ksnt‚| ¡d ks€t‚|jd    d
d ks–t‚|jd    d
d ks¬t‚dS)Nér1rIrérBrDéFrLrSr@rA)    rr$ÚarangeÚargminr7ÚargmaxÚnanrr)r8r.rrr Útest_argminmax˜s.  
zTestReductions.test_argminmaxzop, expected_colrÚbcCs\ttdddddgd}|j tdd¡|d    <t||ƒd
d }|| d¡}t ||¡dS) Nz2016-01-01 00:00:00r_ÚUTC)Úperiodsrr)Úcolumnsi©ÚsecondsrerB©Úaxis)    rrrÚsubtractr r2Úrenamer"Úassert_series_equal)r8ÚopZ expected_colÚdfr9r:rrr Útest_same_tz_min_max_axis_1µs ÿz*TestReductions.test_same_tz_min_max_axis_1ÚfuncÚmaximumZminimumcCs>|}t dg¡ |¡}t|ƒ}tt|ƒ||ƒ}t ||¡dS)NZ2019)rFÚ to_datetimer#r r2r$r"ro)r8Ztz_aware_fixturersrrRr:r9rrr Ú(test_numpy_reduction_with_tz_aware_dtypeÀs
z7TestReductions.test_numpy_reduction_with_tz_aware_dtypecCsVttddtgddtddtjgdddœƒ}ttdƒddœƒ}| ¡}t ||¡dS)NrBrDútimedelta64[ns]rIrC©ÚAÚBr_)    rr rr$rcr Úsumr"ro)r8rqr:r9rrr Útest_nan_int_timedelta_sumÉsþÿz)TestReductions.test_nan_int_timedelta_sumN)Ú__name__Ú
__module__Ú __qualname__rYÚmarkÚ parametrizer(r;rrQrVr\rdrrrvr|rrrr r*5s2  ûþ
 
 
 
 
r*c    @seZdZej ddddddg¡dd„ƒZd    d
„Zej d d d g¡dd„ƒZdd„Z    dd„Z
ej ddddddg¡dd„ƒZ dd„Z ej d d d g¡dd„ƒZ d d!„Zd"d#„Zd$d%„Zd&d'„Zej d d d g¡ej d(gegeeegg¡d)d*„ƒƒZd+d,„Zd-d.„Zd/S)0ÚTestIndexReductionszstart,stop,step)rir_)iôriúÿÿÿ)éÀ½ðÿé@Br^)r„rƒéüÿÿÿ)rrécCsªt|||ƒ}|j ¡}| ¡}||ks*t‚|jdd}||ksBt‚|j ¡}| ¡}||ks`t‚|jdd}||ksxt‚t||| ƒ}t| ¡ƒs–t‚t| ¡ƒs¦t‚dS©NFrL)r Z_valuesr,r7r-r)r8ÚstartÚstopÚsteprr:r9Zresult2rrr Útest_max_min_rangeÛs 
 
   z&TestIndexReductions.test_max_min_rangecCsŽtdddgƒ}|jst‚tdtjddgƒ}|jr4t‚||fD]L}| ¡tdƒksTt‚| ¡tdƒksht‚| ¡dksxt‚|     ¡dks<t‚q<dS)Nú1 daysú2 daysz3 daysrrrD)
rÚis_monotonic_increasingr7r$rcr-r r,rarb©r8Úidx1Úidx2rrrr Útest_minmax_timedelta64ýs
 
 z+TestIndexReductions.test_minmax_timedelta64rpr-r,cCs`tgƒ}t||ƒƒtkst‚ttgƒ}t||ƒƒtks:t‚ttttgƒ}t||ƒƒtks\t‚dS©N)rr2rr7©r8rpr.rrr Ú!test_minmax_timedelta_empty_or_na s 
z5TestIndexReductions.test_minmax_timedelta_empty_or_nac    Cs
tdddd}t |¡tdƒks$t‚t |¡tdƒks:t‚d}tjt|dtj|ddW5QRXtjt|dtj|ddW5QRXt     |¡dks t‚t 
|¡d    ks²t‚d}tjt|dtj    |ddW5QRXtjt|dtj
|ddW5QRXdS)
Nz
16815 daysz
16820 daysÚD©r/ú$the 'out' parameter is not supportedrWr©Úoutr]) rr$r-r r7r,rYrZr[rarb)r8ÚtdÚerrmsgrrr Útest_numpy_minmax_timedelta64sz1TestIndexReductions.test_numpy_minmax_timedelta64cCs¦tdd„tdƒDƒƒ}| ¡}| ¡}ttddƒ}||ks@t‚| ¡ ¡}|d|ks\t‚| d¡}t    t
  dd    ¡ƒ}||ks‚t‚|  ¡}td
ƒ}||ksžt‚| ¡  ¡}|d|ksºt‚|  ¡}td ƒ}||ksÖt‚| ¡  ¡}|d|ksòt‚| ¡}tt| ¡jƒ ¡ƒ}||kst‚| ¡ ¡}|d|ks<t‚ttd ƒtd ƒgƒ}| ¡  ¡tddkslt‚ttd ƒtd ƒtdƒgƒ}| ¡  ¡tddks¢t‚dS)NcSs"g|]}tdƒt||d‘qS©Z20130101ri©rr©rÚirrr r!1sz:TestIndexReductions.test_timedelta_ops.<locals>.<listcomp>ré    rirgš™™™™™¹?i(
Úmsz00:00:09z00:01:21z
2015-02-03z
2015-02-07r^)Údaysz
2015-02-15é)r ÚrangeÚdiffÚmeanrrr7Úto_frameZquantiler r$Z timedelta64Úmedianr{ÚstdÚdropnar4r)r8Úsr›r9r:rrr Útest_timedelta_ops-sBÿ  
      ÿz&TestIndexReductions.test_timedelta_opsr+ZskewZkurtZsemÚprodÚvarc    Csžtdd„tdƒDƒƒ}| ¡}d d|›dd|›dd    |›d
g¡}tjt|d t||ƒƒW5QRXtjt|d t| ¡|ƒd d W5QRXdS)NcSs"g|]}tdƒt||d‘qSržrŸr rrr r!eszDTestIndexReductions.test_invalid_td64_reductions.<locals>.<listcomp>rú|zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support reduction 'ú'rWF)Z numeric_only)    r r¦r§ÚjoinrYrZÚ    TypeErrorr2r©)r8r+r­r›Úmsgrrr Útest_invalid_td64_reductionsbsÿ
 
 
ýÿz0TestIndexReductions.test_invalid_td64_reductionscCs¢|}tdddg|d}|js t‚tdtddtg|d}|jr@t‚||fD]T}| ¡td|dksdt‚| ¡td|dks|t‚| ¡dksŒt‚| ¡dksHt‚qHdS)Nú
2011-01-01ú
2011-01-02ú
2011-01-03rrrD)    rrŽr7rr-rr,rarb)r8Ztz_naive_fixturerrr‘rrrr Útest_minmax_tzws
 ÿ
 z"TestIndexReductions.test_minmax_tzcCs`tgƒ}tt||ƒƒƒst‚ttgƒ}tt||ƒƒƒs:t‚ttttgƒ}tt||ƒƒƒs\t‚dSr“)rrr2r7rr”rrr Útest_minmax_nat_datetime64‰s 
z.TestIndexReductions.test_minmax_nat_datetime64c    Cs:tdddgƒ}|j ¡}t |¡}||ks.t‚|j ¡}t |¡}||ksNt‚d}tjt|dtj|ddW5QRXtjt|dtj|ddW5QRX|j     ¡}t     |¡}||ksÂt‚|j 
¡}t 
|¡}||ksât‚d}tjt|dtj
|ddW5QRXtjt|dtj    |ddW5QRXdS)NrBrDr_r˜rWrr™) rr4r,r$r7r-rYrZr[rbra)r8rr:r9rœrrr Útest_numpy_minmax_integer•s.
 
 
 
 
 
 
 
 z-TestIndexReductions.test_numpy_minmax_integerc    Cstdddƒ}t |¡}|dks"t‚t |¡}|dks8t‚d}tjt|dtj|ddW5QRXtjt|dtj|ddW5QRXdS)Nrrr_r¢r˜rWr™)r r$r,r7r-rYrZr[)r8rr9rœrrr Útest_numpy_minmax_rangeµs 
 
 z+TestIndexReductions.test_numpy_minmax_rangec    Cstddd}t |¡tdƒks"t‚t |¡tdƒks8t‚d}tjt|dtj|dd    W5QRXtjt|dtj|dd    W5QRXt     |¡dksžt‚t 
|¡d
ks°t‚d}tjt|dtj    |dd    W5QRXtjt|dtj
|dd    W5QRXdS) Nú
2016-01-15ú
2016-01-20©rˆÚendz2016-01-15 00:00:00z2016-01-20 00:00:00r˜rWrr™r]) rr$r-rr7r,rYrZr[rarb)r8Zdrrœrrr Útest_numpy_minmax_datetime64Ès z0TestIndexReductions.test_numpy_minmax_datetime64cCsÒttdddgdd}|jrt‚|dd…js0t‚tdtddtgdd}|jrPt‚||fD]4}| ¡tdddkstt‚| ¡tdddksXt‚qX| ¡dksžt‚| ¡dks®t‚| ¡dks¾t‚| ¡d    ksÎt‚dS)
Nr·r¸r¹r–r—rBrr_rD)    r
rrŽr7r-r    r,rarbrrrr Útest_minmax_periodßs
 ÿ
 z&TestIndexReductions.test_minmax_periodÚdatacCs(t|dd}t||ƒƒ}|tks$t‚dS)NÚMr—)r
r2rr7)r8rprÄr.r9rrr Útest_minmax_period_empty_natós  z0TestIndexReductions.test_minmax_period_empty_natc    Cstjddd}t |¡tdddks(t‚t |¡tdddksBt‚d}tjt    |dtj|dd    W5QRXtjt    |dtj|dd    W5QRXt 
|¡dks¨t‚t  |¡d
ksºt‚d}tjt    |dtj
|dd    W5QRXtjt    |dtj |dd    W5QRXdS) Nr¾r¿rÀr–r—r˜rWrr™r]) rFZ period_ranger$r-r    r7r,rYrZr[rarb)r8Úprrœrrr Útest_numpy_minmax_periodûsz,TestIndexReductions.test_numpy_minmax_periodc    Cs tjtdƒtdƒdd}d}tjt|d| ¡W5QRXd}tjt|d| ¡W5QRXtjtdƒtdƒdd}| ¡d    ksŒt‚| ¡d
ksœt‚dS) NZaabbcaZcabF©Ú
categoriesÚorderedzwCategorical is not ordered for operation min\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nrWzwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTÚcre)    rFZCategoricalIndexÚlistrYrZr´r-r,r7)r8Úcirµrrr Útest_min_max_categoricalsÿÿz,TestIndexReductions.test_min_max_categoricalN)r}r~rrYr€rr‹r’r•rr®r¶rºr»r¼r½rÂrÃrrÆrÈrÏrrrr r‚Ös:ûþ
 
 
5
 
  r‚c@sneZdZdd„Zej ddddddg¡ej d    d
d g¡ej d d dg¡dd„ƒƒƒZej dddg¡ej ddddg¡dd„ƒƒZej dddddg¡dd„ƒZ    dd„Z
ej d    d
d g¡ej dddg¡dd „ƒƒZ ej d    d
d g¡ej dd!dg¡d"d#„ƒƒZ d$d%„Z ej d&d'd(g¡d)d*„ƒZej dd+¡ej d,d
d g¡d-d.„ƒƒZd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd=d>„Zej d?d@dAg¡ej d,d
d g¡dBdC„ƒƒZej d?d@dAg¡ej dDd dEgdEd gd ejgejd gg¡dFdG„ƒƒZej ddddHdg¡ej d?d@dAg¡ej d,d
d g¡ej dIdJdJdJgd d gd d ggfdKdKdKgd
d
gd
d
ggfejejejgejejgd d
ggfdJejdJgejd gd d ggfdKejdKgd
ejgd
d
ggfdKejdJgd
d gd
d ggfg¡dLdM„ƒƒƒƒZdNdO„ZdPdQ„Z dRdS„Z!ej dTe"gddUe#fe"dVdWdXgƒe$fe"dYdZgƒe$fe"dVdVdWdWdEejdXgƒe$fg¡d[d\„ƒZ%d]d^„Z&dES)_ÚTestSeriesReductionsc    Cs¼ttj d¡ƒ}| ¡}tj|dd…<tj|dd…<t | ¡¡sFt    ‚tj dd¡ 
d¡}tj|dd…df<t   dd¡t  | ¡| ¡¡W5QRXtj|d    d
}t |¡ ¡s¸t    ‚dS) Nrr]éédZf4rDúmode.use_inf_as_naTrBrk)r r$r%r&ÚcopyÚinfrcÚisinfr{r7r5rFÚoption_contextr"Úassert_almost_equalrÚnansumÚall)r8r­Ús2rrHrrr Ú test_sum_inf)sz!TestSeriesReductions.test_sum_infrJr>ZFloat32rCrEr<Úuse_bottleneckTFz method, unit)r{ç)r¯çð?c    CsFt d|¡.tg|d}t||ƒƒ}||ks4t‚t||ƒdd}||ksPt‚t||ƒdd}t|ƒslt‚t||ƒdd}||kt||ƒddd}||ks¢t‚t||ƒddd}t|ƒsÀt‚t||ƒd    dd}||ksÞt‚t||ƒd    dd}t|ƒsüt‚ttjg|d}t||ƒƒ}||ks&t‚t||ƒdd}||ksDt‚t||ƒdd}t|ƒsbt‚t||ƒdd}||kt||ƒddd}||ksšt‚t||ƒddd}t|ƒsºt‚ttjdg|d}t||ƒƒ}|d
ksæt‚t||ƒdd}|d
kst‚t||ƒdd}|d
ks"t‚t||ƒdd}|d
ks@t‚t||ƒddd}|d
ks`t‚tt     d ¡|d}t||ƒdƒ|k 
¡sŽt‚tdg|d}t||ƒd d}t|ƒsºt‚t||ƒd    d d}t|ƒsÚt‚ttjg|d}t||ƒd d}t|ƒst‚ttjdg|d}t||ƒd d}t|ƒs8t‚W5QRXdS) NrÝrIr)Ú    min_countrBTrL)rMràFrß)rrrD) rFr×r r2r7rr$rcrÚemptyrÚ)r8ÚmethodÚunitrÝrJr­r9rqrrr Ú
test_empty;sn           zTestSeriesReductions.test_emptyrâr¨r°ZFloat64cCsTtg|d}t||ƒƒ}|tjks&t‚ttjg|d}t||ƒƒ}|tjksPt‚dS©NrI)r r2rFrGr7r$rc)r8rârJZeserr9Znserrrr Ú&test_ops_consistency_on_empty_nullable s    z;TestSeriesReductions.test_ops_consistency_on_empty_nullablerªr«c    Cs†tttd|ƒƒ}t|ƒst‚tgdd}|dkrjd dddg¡}tjt|dt||ƒƒW5QRXnt||ƒƒ}|t    ks‚t‚dS)    NrIúm8[ns]r°r±zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support reduction 'var'rW)
r2r Úfloatrr7r³rYrZr´r)r8râr9Ztdserrµrrr Útest_ops_consistency_on_empty°s  ýÿ z2TestSeriesReductions.test_ops_consistency_on_emptycCs0tdtjgddgd}t |¡}t |d¡dS)NrßrrB©r)r r$rcrÙr"rØ)r8Úserr9rrr Útest_nansum_bugletÉs
z'TestSeriesReductions.test_nansum_bugletÚint32r1c    Cs’t d|¡|tjd|d}t|ƒ}|jdd}t|ƒ|jddksHt‚|jdd}t|ƒdksdt‚|j    dd}t|ƒ|dks„t‚W5QRXdS)    NrÝé@KLrIFrLr1rrS)
rFr×r$r`r r{Úintr7r-r,©r8rÝrJÚvr­r9rrr Útest_sum_overflow_intÎs   z*TestSeriesReductions.test_sum_overflow_intÚfloat32c    Cs–t d|¡€tjd|d}t|ƒ}|jdd}||j|dksDt‚|jdd}t t    |ƒd¡sdt‚|j
dd}t t    |ƒ|d¡sˆt‚W5QRXdS)NrÝrîrIFrLrÞrS) rFr×r$r`r r{r7r-Zallcloserèr,rðrrr Útest_sum_overflow_floatÞs   z,TestSeriesReductions.test_sum_overflow_floatcCs\d}d}t |g|¡}t|g|dd}t |¡}| ¡}||dksLt‚|dksXt‚dS)Nl;á rÒrCrIrg Ø…W4vC)r$Úarrayr r¨r7)r8rNZ
n_elementsÚnarëZ result_numpyZ result_maskedrrr Útest_mean_masked_overflowìs
z.TestSeriesReductions.test_mean_masked_overflowz    ddof, exp)rBg@)rr=cCs`tdddddgdd}tdddddgdd}|j|d    }|j|d    }||ksPt‚||ks\t‚dS)
NrBrDr_r^r]rCrIr1)Úddof)r r°r7)r8røÚexprëZser_numpy_dtyper9Zresult_numpy_dtyperrr Útest_var_masked_arrayøs    z*TestSeriesReductions.test_var_masked_array)rçrçr0z M8[ns, UTC]rMcCs<tg|dj|dtkst‚tg|dj|dtks8t‚dS)NrIrL)r r-rr7r,)r8rJrMrrr Ú+test_empty_timeseries_reductions_return_natsz@TestSeriesReductions.test_empty_timeseries_reductions_return_natc    Cs|t dd¡}t||d}t |¡}t |¡}||ks8t‚| ¡}||ksLt‚d}tjt|dtj||dW5QRXdS©NrBrArêr˜rWr™)r$r`r rar7rYrZr[©r8rÄr­r9r:rµrrr Útest_numpy_argmin    s  
 
  z&TestSeriesReductions.test_numpy_argminc    Cs|t dd¡}t||d}t |¡}t |¡}||ks8t‚| ¡}||ksLt‚d}tjt|dtj||dW5QRXdSrü)r$r`r rbr7rYrZr[rýrrr Útest_numpy_argmaxs  
 
  z&TestSeriesReductions.test_numpy_argmaxcCsìt ¡ d¡}tj|dd…<|| ¡| ¡ks4t‚t|jddƒsHt‚|     ¡}|| ¡| ¡ksht‚|j
j   ¡ 
| ¡¡|j   ¡ksŒt‚|tj}t| ¡ƒs¦t‚ttdddƒ}| ¡}|d    ksÊt‚tj|d    <| ¡}|d
ksèt‚dS) Nr'r]éFrLÚ20130102r¥©rgrrB)r"ÚmakeStringSeriesrnr$ÚNaNÚidxminr-r7rr¬rr4Útolistrarcr r©r8Z string_seriesZnonaZallnar­r9rrr Ú test_idxmin,s$
 
z TestSeriesReductions.test_idxmincCsht ¡ d¡}tj|dd…<|| ¡| ¡ks4t‚t|jddƒsHt‚|     ¡}|| ¡| ¡ksht‚|j
j   ¡ 
| ¡¡|j   ¡ksŒt‚|tj}t| ¡ƒs¦t‚ttdddƒ}| ¡}|dksÊt‚tj|d<| ¡}|d    ksèt‚td
d d gd ddgƒ}| ¡}|dkst‚| ¡}|d ks*t‚t|j
|j
ƒ}| ¡}|dksNt‚| ¡}|d ksdt‚dS)Nr'r]rFrLrr¥rr^rBrDr_gš™™™™™ñ?gÍÌÌÌÌÌ@gÍÌÌÌÌÌ@)r"rrnr$rÚidxmaxr,r7rr¬rr4rrbrcr rrrrrr Ú test_idxmaxJs2$
 
 z TestSeriesReductions.test_idxmaxcCsDt ¡}|dk}| ¡rt‚| ¡s(t‚tddgƒ}| ¡s@t‚dS)NrÚabcT)r"ZmakeTimeSeriesrÚr7Úanyr )r8ÚtsZ bool_seriesr­rrr Ú test_all_anyus    z!TestSeriesReductions.test_all_anycCsJ|dddgƒ}t |¡rt‚t |¡s*t‚tdddgƒ}t |¡sFt‚dS)NrrBrDr_)r$rÚr7r r)r8rOrrrr Útest_numpy_all_anys
z'TestSeriesReductions.test_numpy_all_anycCs`ttjdgƒ}ttjdgƒ}|jdds,t‚|jdds<t‚|jddsLt‚|jddr\t‚dS)NTFrL)r r$rcrÚr7r )r8Ús1rÛrrr Útest_all_any_skipna‡s z(TestSeriesReductions.test_all_any_skipnacCsHtddddddgddddddgd}|jdds4t‚|jddrDt‚dS)NFTrrBrDrê)Ú    bool_only)r r r7rÚ©r8r­rrr Útest_all_any_bool_onlys$z+TestSeriesReductions.test_all_any_bool_onlyÚ bool_agg_funcr rÚcCs:tdddddgtd}t||ƒ|d}d}||ks6t‚dS)    NrrerÌÚdÚerIrLT)r r<r2r7)r8rrMrër9r:rrr Útest_any_all_object_dtype—sz.TestSeriesReductions.test_any_all_object_dtyperÄNcCs8t|ƒ}t||ƒdd}|dko&d|k}||ks4t‚dS)NFrLr )r r2r7)r8rÄrrër9r:rrr Ú!test_any_all_object_dtype_missing¡sz6TestSeriesReductions.test_any_all_object_dtype_missingZUInt64zdata,expected_datarrBc    CsPt||d}|||dk}t||ƒ|d}|tjkr@|tjksL||ksLt‚dS)NrIrÚrL)r r2rFrGr7)    r8rrMrÄrJZ expected_datarër:r9rrr Ú"test_any_all_nullable_kleene_logic®s z7TestSeriesReductions.test_any_all_nullable_kleene_logiccCs@tddgddgdœƒ}|jddd}tddgƒ}t ||¡dS)NTFrBrDrx)rlr)rr r r"ro)r8rqr9r:rrr Útest_any_axis1_bool_onlyÈs z-TestSeriesReductions.test_any_axis1_bool_onlyc    CsŽtdddj}t|ƒ}t|ƒ}d}tjt|dV| ¡s>t‚|     ¡sJt‚| ¡sVt‚|     ¡sbt‚|     ¡ ¡srt‚| ¡ ¡s‚t‚W5QRX| 
d¡}t|ƒ}t|ƒ}tjt|dX| ¡sÂt‚|     ¡sÎt‚| ¡sÚt‚|     ¡sæt‚|     ¡ ¡söt‚| ¡ ¡st‚W5QRX||d}t|ƒ}t|ƒ}|     ¡s<t‚| ¡rJt‚|     ¡sXt‚| ¡rft‚|     ¡ ¡sxt‚| ¡     ¡rŠt‚dS)Nz
1995-01-02r_rz0'(any|all)' with datetime64 dtypes is deprecatedrWrfr) rÚ_datar rr"Úassert_produces_warningÚ FutureWarningrÚr7r r#)r8ZdtarërqrµZtdarrr Útest_any_all_datetimelikeÏs<    
     z.TestSeriesReductions.test_any_all_datetimelikecCstdddd}t|ƒtdƒ}| ¡}|dks2t‚| ¡}|dksFt‚tj|d<| ¡}|dksdt‚| ¡}|dksxt‚ttddd    ƒ}ttd
dd    ƒ}t||ƒ}t ||¡}t     
||¡|| ¡}t     
||¡|  ¡}t d ƒ}||ksòt‚|  ¡}t d ƒ}||kst‚dS) Nz2012-1-1r_r–©rgr/Z20120101rrDrBrZ20120102rrŒ)rr rrr7r    r$rcÚabsr"ror,r r-)r8Zdtir›r9rrÛr:rrr Útest_timedelta64_analyticsþs0  
       z/TestSeriesReductions.test_timedelta64_analyticsztest_input,error_typerIÚfooÚbarZbaz)rB)rDc    Csœd}tj||d| ¡W5QRXtj||d|jddW5QRXd}tj||d| ¡W5QRXtj||d|jddW5QRXdS)zU
        Cases where ``Series.argmax`` and related should raise an exception
        zbreduction operation 'argmin' not allowed for this dtype|attempt to get argmin of an empty sequencerWFrLzbreduction operation 'argmax' not allowed for this dtype|attempt to get argmax of an empty sequenceN)rYrZrr    )r8Z
test_inputZ
error_typerµrrr Útest_assert_idxminmax_raises'sÿÿz1TestSeriesReductions.test_assert_idxminmax_raisesc    CsÈtdtj tjtjgƒ}| ¡dks(t‚t |jdd¡s>t‚| ¡dksNt‚t |jdd¡sdt‚t     dd¡N| ¡dks‚t‚t |jdd¡s˜t‚| ¡dks¨t‚t |jdd¡W5QRXdS)NrrBFrLrDrÓT)
r r$rÕrcrr7rTr    rFr×rrrr Útest_idxminmax_with_infGsz,TestSeriesReductions.test_idxminmax_with_inf)'r}r~rrÜrYr€rrärærérìròrôr÷rúrûrþrÿrr
rrrrrr$rcrrFrGrrrr"r r[r´r%r&rrrr rÐ$sŒ ÿ` 
 
      +
     ÿ     "úü 
/)úþ
rÐc    @sœeZdZej deeegƒeeedƒgƒeedƒedƒgƒg¡dd„ƒZ    ej de
eegƒe
eedƒgƒe
edƒedƒgƒg¡dd„ƒZ dd    „Z d
d „Z d S) ÚTestDatetime64SeriesReductionsÚnat_serZnatcCsL| ¡tkst‚| ¡tks t‚|jddtks4t‚|jddtksHt‚dSr‡©r-rr7r,)r8r(rrr Útest_minmax_nat_series_s
z5TestDatetime64SeriesReductions.test_minmax_nat_seriesÚnat_dfcCs\| ¡dtkst‚| ¡dtks(t‚|jdddtks@t‚|jdddtksXt‚dS)NrFrLr))r8r+rrr Útest_minmax_nat_dataframens
z8TestDatetime64SeriesReductions.test_minmax_nat_dataframecCs˜tddƒ}| tj t|ƒ¡¡}| ¡}| ¡}t|t    ƒs>t
‚t|t    ƒsLt
‚||dks\t
‚||dkslt
‚| ¡|dks€t
‚| ¡|dks”t
‚dS)Nú1/1/2000z
12/31/2000rrS) rZtaker$r%Z permutationÚlenr-r,r3rr7)r8ÚrngZrng2Zthe_minZthe_maxrrr Ú test_min_max}s
z+TestDatetime64SeriesReductions.test_min_maxc
Cs®tdddd}ddddddddddg
}t|tj t|ƒ¡|dœƒ}|j ¡}t|jj    d    ƒ}t
|tƒsjt ‚||ksvt ‚|j  ¡}t|jj    d
ƒ}t
|tƒsžt ‚||ksªt ‚dS) Nr-rZ4hr ryrzÚC)ÚTSÚVÚLrSr) rrr$r%r&r.r2r,rZiatr3r7r-)r8r/Zlvlsrqr9rùrrr Útest_min_max_series‹s
 
z2TestDatetime64SeriesReductions.test_min_max_seriesN)r}r~rrYr€rr rr r*rr,r0r5rrrr r'Zs$
ýþ
 
ýþ
r'c @seZdZej dddg¡dd„ƒZej dedƒedƒfedƒedƒfedƒej    gedƒfd    d
d gd d
d    gfd    d
d ej    gd d
d    gfg¡ej dddg¡d d „ƒƒZ
ej dddg¡ej dddg¡dd„ƒƒZ ej dddg¡ej dddg¡dd„ƒƒZ dS)ÚTestCategoricalSeriesReductionsÚfunctionr-r,c    CsLttddddgddƒ}d|›}tjt|dt||ƒƒW5QRXdS)    NrrerÌrF)rËz)Categorical is not ordered for operation rW)r rrYrZr´r2)r8r7Úcatrµrrr Útest_min_max_unordered_raises s
z=TestCategoricalSeriesReductions.test_min_max_unordered_raiseszvalues, categoriesr ZcbarBrDr_cCsJtt||ddƒ}t||ƒdd}|dkr2|dn|d}||ksFt‚dS)NTrÉrLr-rrD)r rr2r7)r8r4rÊr7r8r9r:rrr Útest_min_max_ordered¨s z4TestCategoricalSeriesReductions.test_min_max_orderedrMTFcCs<tttjgddgddƒ}t||ƒ|d}|tjks8t‚dS)NrBrDTrÉrL©r rr$rcr2r7)r8r7rMr8r9rrr Ú"test_min_max_ordered_with_nan_onlyºszBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlycCshttddtjdgddgddƒ}t||ƒ|d}|dkrV|dkrDdnd}||ksdt‚n|tjksdt‚dS)NrreTrÉrLr-r;)r8r7rMr8r9r:rrr Útest_min_max_skipnaÂsÿz3TestCategoricalSeriesReductions.test_min_max_skipnaN) r}r~rrYr€rr9rÍr$rcr:r<r=rrrr r6›s&
ûþ
  r6c@sŠeZdZej ddegejdfdegejdfg¡dd„ƒZ    ej dddddd    gdgfddddd    d
d
d
gdd
gfddddd    gdgfddddd    d
d
d
gdd
gfg¡ej d e
ej d ej d ƒ¡dd„ƒƒZ ej dddgfddej gfg¡dd„ƒZej dddgdgdgfddgej gdgfg¡dd„ƒZej dddgdgfddgej gfg¡dd„ƒZej dddddgddgfdej gej ddgfg¡d d!„ƒZej ddd"d#d$gd%d&gfdej gej d%d&gfg¡d'd(„ƒZej ddedd    gdd    gd)ed*gdd*gd)ed
dgd
d    dgdd+fdeej gdd    gd)eej d*gdd*gd)eej d
dgd
d    dgdd+fg¡d,d-„ƒZej ddd.gdd.gfdd.gdd.gfg¡d/d0„ƒZd1d2„Zd3d4„Zej d5d6d7ddd8d9gedgejdejfd6d7ddd8d9gedgejdejfd8d:d8ged8gejdejfg¡d;d<„ƒZej d5d6d7dd8d9ged=d7d>d8d9gejdejfd8d:d8d:d
ged:d8gejdejfg¡d?d@„ƒZdAS)BÚTestSeriesModezdropna, expectedTrIFcCs(tgtjd}| |¡}t ||¡dSrå)r r$r>Úmoder"ro©r8r¬r:r­r9rrr Útest_mode_emptyÖs
zTestSeriesMode.test_mode_emptyzdropna, data, expectedrBrDr_ÚdtZ
AllIntegerZFloatcCs2t||d}| |¡}t||d}t ||¡dSrå©r r?r"ro)r8r¬rÄr:rBr­r9rrr Útest_mode_numericalßs 
 z"TestSeriesMode.test_mode_numericalrßcCs8tdddtjtjgƒ}| |¡}t|ƒ}t ||¡dS)NrBrD)r r$rcr?r"ror@rrr Útest_mode_numerical_nanñs
z&TestSeriesMode.test_mode_numerical_nanz'dropna, expected1, expected2, expected3rer$rccCsÔdgddgd}t|dd}| |¡}t|dd}t ||¡dddtjtjtjg}t|td}| |¡}t|td}t ||¡dddtjtjtjg}t|td t¡}| |¡}t|td}t ||¡dS)    NrrDrer_rÌrIr#r$)    r r?r"ror$rcr<r5Ústr)r8r¬Ú    expected1Ú    expected2Ú    expected3rÄr­r9rrr Útest_mode_str_objøs 
 
 
 z TestSeriesMode.test_mode_str_objzdropna, expected1, expected2r#cCsltdddgƒ}| |¡}t|ƒ}t ||¡tdddtjtjtjgƒ}| |¡}t|td}t ||¡dS)NrBr#rI)r r?r"ror$rcr<)r8r¬rGrHr­r9r:rrr Útest_mode_mixeddtypes
 
 z#TestSeriesMode.test_mode_mixeddtypeú
1900-05-03r¹ú
2013-01-02cCsxtdddddgdd}| |¡}t|dd}t ||¡tdddddddgdd}| |¡}t|dd}t ||¡dS)Nr¹rMrLrcr0rIrC©r8r¬rGrHr­r9rrr Útest_mode_datetime"s*  ÿ
  ù    ö
 z!TestSeriesMode.test_mode_datetimeú-1 daysú0 daysrŒú2 minú1 dayc    Csztdddddgdd}| |¡}t|dd}t ||¡tdddd    d
d
ddgdd}| |¡}t|dd}t ||¡dS) NrŒrPrQrcrwrIrSz-1 dayz -1 day 2 minrRrCrNrrr Útest_mode_timedeltaEs,
 ÿ
  ø
õ
 z"TestSeriesMode.test_mode_timedelta)rÊrrÉc    CsÆttddtjtjgƒƒ}| |¡}t|dd}t ||¡ttdddtjtjgƒƒ}| |¡}t|dd}t ||¡ttdddddtjtjgdddgddƒ}| |¡}t|dd}t ||¡dS)    NrBrDÚcategoryrIrr_TrÉ)r rr$rcr?r"ro)r8r¬rGrHrIr­r9rrr Útest_mode_categorygs$
 
  ÿÿ
 z!TestSeriesMode.test_mode_categoryìcCsrtdddgtjd}| |¡}t|tjd}t ||¡tddgtjd}| |¡}t|tjd}t ||¡dS)NrBrWrI)r r$Zuint64r?r"rorNrrr Útest_mode_intoverflowŒs
 
z$TestSeriesMode.test_mode_intoverflowc    Csftdtjgƒ}tdddtjtjgƒ}t t¡"|jdd}| ¡jdd}W5QRXt     ||¡dS)Nr#rBF)r¬T)Zdrop)
r r$rcr"rÚ UserWarningr?Z sort_valuesZ reset_indexro)r8r:r­r9rrr Útest_mode_sortwarningœs   z$TestSeriesMode.test_mode_sortwarningcCs>tdddtjgdd}| ¡}tddidd}t ||¡dS)NTFrErIr)r rFrGr?r"ro)r8rër9r:rrr Útest_mode_boolean_with_na©sz(TestSeriesMode.test_mode_boolean_with_nazarray,expected,dtyperyð?yð?ð?yð?@y@cCs t||d ¡}t ||¡dSrårC©r8rõr:rJr9rrr Útest_single_mode_value_complex°sz-TestSeriesMode.test_single_mode_value_complexyyð?cCs t||d ¡}t ||¡dSrårCr\rrr Útest_multimode_complexÈsz%TestSeriesMode.test_multimode_complexN)r}r~rrYr€rr r$r>rArÍZ    typecodesrDrcrErJrKrOrTrrVrXrZr[Z
complex128Z    complex64r]r^rrrr r>ÑsÆ"þ
üþ    ÿ  
$þ
þ
ýúþ
þþ
üüùþ
þ
 ýýýõþ
 ü ýùþr>)$rrÚnumpyr$rYZpandasrFrrrrrr    r
r r r rrrrrrZpandas._testingZ_testingr"Z pandas.corerr)r(r*r‚rÐr'r6r>rrrr Ú<module>s*H  "P:A6