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
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
U
­ý°d…ã@sÌdZddlmZmZddlmZddlZddlZddlZddl    m
m Z ddl Zddl mZmZmZmZmZmZmZmZddlmZddlmZddlmZejdd    „ƒZejd
d „ƒZ Gd d „d ƒZ!dS)z5
test with the TimeGrouper / grouping with datetimes
é)ÚdatetimeÚ    timedelta)ÚStringION)Ú    DataFrameÚ DatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ    TimestampÚ
date_rangeÚoffsets)ÚGrouper)Ú
BinGrouperc Cshtddddddgtdddddƒtdddddƒtdd    dd
dƒtdd    dd    dƒtjtddd d dƒgd œƒ}|S)z®
    DataFrame used by groupby_with_truncated_bingrouper, made into
    a separate fixture for easier re-use in
    test_groupby_apply_timegrouper_with_nat_apply_squeeze
    ééééé    éÝé ré
ééé)ÚQuantityÚDate)rr
ÚpdÚNaT)Údf©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/test_timegrouper.pyÚframe_for_truncated_bingrouper súþÿ r!cCs:|}tddd}| |¡}t|jjƒt|jjƒks6t‚|S)a+
    GroupBy object such that gb.grouper is a BinGrouper and
    len(gb.grouper.result_index) < len(gb.grouper.group_keys_seq)
 
    Aggregations on this groupby should have
 
        dti = date_range("2013-09-01", "2013-10-01", freq="5D", name="Date")
 
    As either the index or an index level.
    rÚ5D©ÚkeyÚfreq)r ÚgroupbyÚlenÚgrouperZ result_indexZgroup_keys_seqÚAssertionError)r!rÚtdgÚgbrrr Ú!groupby_with_truncated_bingrouper7s
 
r,c@seZdZdd„Zej dddg¡dd„ƒZdd    „Zej d
d d d dg¡dd„ƒZ    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Ze  d;¡d<d=„ƒZ!d>S)?Ú TestGroupByc    Csptd ¡ddddddgtddddd    ƒtdddddƒtdd
dd d    ƒtdd
dd
d    ƒtdd d d d    ƒtddd dd    ƒgdœƒ}|jdd}||fD]â}| dg¡}td    d    dœtddddddd}| dti¡}d|jd<d|jd<d|jd <t    j
d!d"dgd#d$|jd    d"dgdf<|  d¡  ¡}t  ||¡| ¡}| tdd%¡  ¡}t  ||¡| tdd%¡  ¡}t  ||¡qˆdS)&NzCarl Carl Carl Carl Joe Carlrrrrrrrrrré rr©ÚBuyerrrr©Úbyr)r0rZ20130901Z20131205r"Úleft)r%ÚnameZ    inclusive©Úindexr0Z CarlCarlCarl)rrZCarlCarl)érÚJoe)rrér7Úint64©Údtype©r%)rÚsplitrÚ sort_valuesÚ    set_indexr ÚastypeÚobjectÚilocÚnpÚarrayÚresampleÚsumÚtmÚassert_frame_equalÚ
sort_indexr&r )    ÚselfÚ df_originalÚ df_reorderedrÚexpectedÚresult1Ú    df_sortedÚresult2Zresult3rrr Útest_groupby_with_timegrouperOsJúýÿ   ÿþ
 
 
$  z)TestGroupBy.test_groupby_with_timegrouperÚ should_sortTFcCsìtd ¡d ¡ddddddgtdddd    d
ƒtdddd    dƒtdd dd d
ƒtdd d d d
ƒtddd dd
ƒtddd dd
ƒgdœƒ}|rŒ|jddd}|jddd}| tdd¡}|js´t‚t    |j
t ƒsÄt‚|j }t    |t ƒsØt‚t|ƒdksèt‚dS)Nz A A A A A BzCarl Mark Carl Joe Joe Carlrrrérrrrrrrr.r©ZBranchr0rrrF©r2Z    ascendingr©ZdropZ6Mr=)rr>rr?r@r&r Ú
group_keysr)Ú
isinstancer(rÚgroupsÚdictr')rKrSrÚgrZrrr Ú%test_groupby_with_timegrouper_methodss,úüÿ
z1TestGroupBy.test_groupby_with_timegrouper_methodscCs@td ¡d ¡ddddddddgtdddd    d
ƒtdddd    dƒtdd dd d
ƒtdd d d d
ƒtdd dd d
ƒtdd d d d
ƒtddd dd
ƒtddd dd
ƒgdœƒ d¡}|jddd}||fD]}td ¡d ddgtdddd
d
ƒtdddd
d
ƒtdddd
d
ƒgdœƒ ddg¡}d}| tdddg¡jdd}t     ||¡td ¡ddddgtdddd
d
ƒtdddd
d
ƒtdd dd
d
ƒtdd dd
d
ƒgdœƒ ddg¡}| td!ddg¡jdd}t     ||¡q¶td ¡d ¡ddddddddgtdd dd    d
ƒtdd dd    dƒtdd dd d
ƒtdd d d d
ƒtdd dd d
ƒtdd d d d
ƒtdd d dd
ƒtdd d dd
ƒgdœƒ d¡}|jddd}||fD]Ä}td" ¡d#ddd$d gtdd dd
d
ƒtdd dd
d
ƒtdd dd
d
ƒtdd d d
d
ƒtdd d d
d
ƒgdœƒ ddg¡}| td%ddg¡jdd}t     ||¡| td&ddg¡jdd}td ¡d ddgtdd dd
d
ƒtdd dd
d
ƒtdd dd
d
ƒgdœƒ ddg¡}t     ||¡| 
¡}| td&dd'dg¡jdd}t     ||¡t j t d(d) | td&d*d'dg¡ ¡W5QRX| d¡}| td&dd+dg¡jdd}t     ||¡| td&d
d+dg¡jdd}t     ||¡t j td,d) | td&d*d+dg¡ ¡W5QRX| ¡}|jt d ¡|d<| td&dd'dg¡jdd}td ¡d ddgtdd-d.d
d
ƒtdd-d.d
d
ƒtdd-d.d
d
ƒgdœƒ ddg¡}t     ||¡d/}t j t|d)"| td&ddd0dg¡ ¡W5QRXtdggdgttdd dd
d
ƒgt ¡dd1d2}| td&d¡jdd}t     ||¡| td&dg¡jdd}t     ||¡|j d¡|_|jjt ¡ksêt‚| td&dd'¡jdd}t     ||¡| td&dd'g¡jdd}t     ||¡qtdS)3NzA A A A A A A Bz$Carl Mark Carl Carl Joe Joe Joe CarlrrrrTrrrrrrrr.rrUrrFrVz Carl Joe Markrér/r0z!The default value of numeric_onlyÚAr=T)Z numeric_onlyzCarl Mark Carl JoeéZ6MSzCarl Joe Mark Carl Joer7éZ1DZ1M©r%r$z#'The grouper name foo is not found')ÚmatchÚfoo)r%ÚlevelzThe level foo is not validé éz2The Grouper cannot specify both a key and a level!)r%r$re©r%r4©Úcolumnsr6)rr>rr@r?r&r rGrHrIÚ reset_indexÚpytestZraisesÚKeyErrorÚ
ValueErrorÚcopyr6r ZMonthEndrÚshiftr%r))rKrLrPrrNÚmsgÚresultrrr Ú test_timegrouper_with_reg_groups s2øüÿðýýÿ
ö  
üýÿ õ øüÿð ûýÿ ô ýýÿ
ö ÿ $
ÿ ÿ $ÿýýÿ
ö ÿÿý   z,TestGroupBy.test_timegrouper_with_reg_groupsr%ÚDÚMr_zQ-APRcCstt ddddddddddddg ¡ddddddddd    d    d    d    g d
d d d ddddddddg ddddddddddddg dœƒ d¡}| d¡d  |¡jdd! ¡ ddg¡     ¡ 
d"¡}d |_ |     ¡ t |d#dg¡d  ¡}t  ||¡| t |d#dg¡d  ¡}t  ||¡dS)$NZ20121002Z20121007Z20130130Z20130202Z20130305Z20121207rrriþiliiéÉioéZi8igi-i!r.érr9é'ré-é")ÚdateÚuser_idÚ
whole_costZcost1r|r}r~)Z    min_countr:r=)rrÚ to_datetimer@r&rFrGZdropnaZreorder_levelsrJrAr4r rHÚassert_series_equal)rKr%rrNrOrQrrr Ú%test_timegrouper_with_reg_groups_freqSsfôÿôàÿ#Ý&ÿþ
üúÿ    ÿ z1TestGroupBy.test_timegrouper_with_reg_groups_freqc Cs(td ¡ddddddgtddddd    ƒtdddddƒtdd
dd d    ƒtdd
dd
d    ƒtdd d d d    ƒtddd dd    ƒgdœƒ}|jdd}|jd    ddg|jd dg|jdgg}dddg}||fD]H}| tddd¡}t||ƒD]&\}}t|ƒ}    |     |    ¡}
t
  |
|¡qÚqº|jdg|jdg|jdgg}dddg} ||fD]X}| dtdddg¡}t| |ƒD]0\\} }}t|ƒ}    |     | |    f¡}
t
  |
|¡q\q8|  d¡}|jdd}|jd    ddg|jd dg|jdgg}||fD]J}| tdd¡}t||ƒD](\}}t|ƒ}    |     |    ¡}
t
  |
|¡qöqØdS)NzCarl Joe Joe Carl Joe Carlrrrrrrrrrrr.rrr/rr1raú
2013-09-30ú
2013-10-31ú
2013-12-31rurrb)r8r‚)ZCarlrƒ)r8r„r0r=) rr>rr?rCr&r Úzipr
Ú    get_grouprHrIr@) rKrLrMÚ expected_listZdt_listrÚgroupedÚtrNÚdtrrZg_listÚbrrr Útest_timegrouper_get_groupŽs^úýÿ  
ý
 
 
 
 
ý
 
 
ý 
z&TestGroupBy.test_timegrouper_get_groupcCs†tddgddgdœƒ}| ¡}t |d¡|d<dd„}| tdd    ¡ |¡}| td
dd ¡ |¡}t |j    d d |j    d d ¡dS)Nú
10/10/2000ú
11/10/2000rr©r|Úvaluer|cSst|d ¡gdƒS)Nr)rG)r    rG©Úxrrr Úsumfunc_seriesØszMTestGroupBy.test_timegrouper_apply_return_type_series.<locals>.sumfunc_series©r$rurbTrW)
rrorrr&r ÚapplyrHrIrk)rKrÚdf_dtr“rNrrrrr Ú)test_timegrouper_apply_return_type_seriesÐs
 
ÿz5TestGroupBy.test_timegrouper_apply_return_type_seriescCs†tddgddgdœƒ}| ¡}t |d¡|d<dd„}| tdd    ¡ |¡}| td
dd ¡ |¡}t |j    d d |j    d d ¡dS)NrrŽrrrr|cSs
|j ¡S©N)rrGr‘rrr Ú sumfunc_valueészKTestGroupBy.test_timegrouper_apply_return_type_value.<locals>.sumfunc_valuer”rurbTrW)
rrorrr&r r•rHr€rk)rKrr–r™rNrrrrr Ú(test_timegrouper_apply_return_type_valueás
 
ÿz4TestGroupBy.test_timegrouper_apply_return_type_valuec Cs8d}tdd|d}tt |¡t |¡dœ|d}| dd„¡}|j}tt| ¡ƒd    t    ƒs^t
‚td
d d d }td ddddgddddd gdœ|d}|jd dj}dddddg}dd„|Dƒ}    t   ||    ¡|jd d}|D]Z}
|  |
¡}|j|
df|j|
d fgg} t|
gd d!d"} t| td#ƒ| d$}    t  ||    ¡qØdS)%Nièz2012/1/1Z5min)Ústartr%Úperiods)ÚhighÚlowr5cSst|j|j|jƒSr˜)rÚyearÚmonthÚdayr‘rrr Ú<lambda>ùóz?TestGroupBy.test_groupby_groups_datetimeindex.<locals>.<lambda>rz
2015/01/01rr|)rœr4r7r`rTrrrrra©r_ÚB©rez
2015-01-05z
2015-01-04z
2015-01-03z
2015-01-02z
2015-01-01cSs i|]}t|ƒt|gdd“qS)r|©r4)r
r)Ú.0r|rrr Ú
<dictcomp>szATestGroupBy.test_groupby_groups_datetimeindex.<locals>.<dictcomp>r_r¥rt)r4r%ZABri)r rrDÚaranger&rZrYÚlistÚkeysrr)rHZassert_dict_equalr†ÚlocrrI) rKrœÚindrrˆrZr6rrÚdatesrNr|ÚdataZexpected_indexrrr Ú!test_groupby_groups_datetimeindexòs0ÿ&ÿ  
z-TestGroupBy.test_groupby_groups_datetimeindexc    Csjddddddg}tddddddg|tjdddd    d
gd d œƒ}|d  dd„¡|d <tddddddgdd d}tddgd dd}t ||g¡}tdd d    dd
dgd    d
d
d    d    d
gdœ|ddgd}| d dg¡     ¡}t
  ||¡t|dd}ttjdddd    d
d d    d
d gdœ|d}tdddgdd}td ddgd
ddgdœ|ddgd}|jdd     ¡}t
  ||¡dS) Nú2011-07-19 07:00:00ú2011-07-19 08:00:00ú2011-07-19 09:00:00Úar‹r7r:r;rrr)ÚlabelrÚvalue1Úvalue2rcSs t|ddS)Nú
US/Pacific©Útz)r
)Údrrr r¢#r£zBTestGroupBy.test_groupby_groups_datetimeindex_tz.<locals>.<lambda>r¹)r»r4r¶r§rrar©r·r¸r·r¸©r6rjz
Asia/Tokyorºr5r`r¦) rrDrªr•rrrÚ from_arraysr&rGrHrI©    rKr¯rZexp_idx1Zexp_idx2Zexp_idxrNrrZdidxrrr Ú$test_groupby_groups_datetimeindex_tzsfú 
üÿúö  ý  þþýz0TestGroupBy.test_groupby_groups_datetimeindex_tzcCsRtdt d¡fdt d¡fgddgd}| d¡ ¡}|ddtdƒksNt‚dS)Nrz
2012-07-03z
2012-07-04rµr|)rj)rrDÚ
datetime64r&Úfirstr
r))rKrrrrrr Ú&test_frame_datetime64_handling_groupbyPs þz2TestGroupBy.test_frame_datetime64_handling_groupbyc    Csèd}tjt|ƒddddgd}|jdddj dd    „¡}ttd
d d td d d tddd tdd d tddd gdtd}t     
||¡d }| d¡j  |¡}t  |¡j  |¡}tdddgdddgdd}t  |¡j  |¡}t     
||¡dS)NzÂ0,2000-01-28 16:47:00,America/Chicago
1,2000-01-29 16:48:00,America/Chicago
2,2000-01-30 16:49:00,America/Los_Angeles
3,2000-01-31 16:50:00,America/Chicago
4,2000-01-01 16:50:00,America/New_Yorkrr|r»)ÚheaderÚnamesF)rXcSst |¡j |j¡Sr˜)rrrŠÚ tz_localizer4r‘rrr r¢dr£z9TestGroupBy.test_groupby_multi_timezone.<locals>.<lambda>z2000-01-28 16:47:00-0600zAmerica/Chicagorºz2000-01-29 16:48:00-0600z2000-01-30 16:49:00-0800zAmerica/Los_Angelesz2000-01-31 16:50:00-0600z2000-01-01 16:50:00-0500zAmerica/New_York)r4r<z2000-01-28 16:47:00z2000-01-29 16:48:00z2000-01-31 16:50:00rrr©r6r4)rZread_csvrr&r|r•r    r
rBrHr€r†rrŠrÇ)rKr°rrrrNr»Z
res_valuesZ
exp_valuesrrr Útest_groupby_multi_timezoneYs4ÿ
 
 
 
 
û÷ ýz'TestGroupBy.test_groupby_multi_timezonec    Csdddddddg}tddddddgdd„|Dƒtjdd    d
d d gd dœƒ}tjddddddgddd}tddgd dd}t ||g¡}tdd d dd dgd d d d d d gdœ|ddgd}| ddg¡     ¡}t
  ||¡tj|dd}ttjdd    d
d d d d d d gdœ|d}tjdddgdd}td ddgd ddgdœ|ddgd}|jdd     ¡}t
  ||¡dS)Nr²r³r´rµr‹cSsg|]}tj|dd‘qS)ÚHr=)rZPeriod)r¨r¼rrr Ú
<listcomp>‹sz;TestGroupBy.test_groupby_groups_periods.<locals>.<listcomp>r7r:r;rrr)r¶Úperiodr·r¸rÊrÌrhr¶r§rrarr½r·r¸r¾r=r5r`r¦) rrDrªrZ PeriodIndexrrr¿r&rGrHrIrÀrrr Útest_groupby_groups_periodssdú  
üÿ    úö  ý þþýz'TestGroupBy.test_groupby_groups_periodscCs’tddgƒ}|d d¡|d<t|djjtjƒs6t‚|jdd     ¡}|dj}t|jtjƒsbt‚|djdd     ¡}|j}t|jtjƒsŽt‚dS)N)rìö|>cþ)rrÎrzM8[ns]rr¦)
rÚviewÚ
issubclassr<ÚtyperDrÂr)r&rÃ)rKrrrZgot_dtrrr Útest_groupby_first_datetime64¼s 
z)TestGroupBy.test_groupby_first_datetime64cCsRttdƒt d¡dœƒ}| d¡d dd„¡}| d¡d ¡}t ||¡dS)NZ20130101rr¤r_cSs| ¡Sr˜)Úmaxr‘rrr r¢Îr£z9TestGroupBy.test_groupby_max_datetime64.<locals>.<lambda>)    rr
rDrªr&r•rÓrHr€)rKrrNrrrrr Útest_groupby_max_datetime64Êsz'TestGroupBy.test_groupby_max_datetime64cCsVttdƒtdƒgddœƒ}| d¡d t¡}ttdƒgddd}t ||¡dS)Nrz    2000-01-1r¤r_r¥r§)    rÚranger
r&Z    transformÚminr    rHr€©rKrrrrNrrr Útest_groupby_datetime64_32_bitÒsz*TestGroupBy.test_groupby_datetime64_32_bitcCshtj d¡ttjjddddtddddd    d
œƒ}| d ¡ ¡d }| d ¡d  ¡}t     ||¡dS) Né*rré<)Úsizez01/01/2000 00:00ÚsÚUTC)rœr%r»)ÚfactorÚtimerÞrß)
rDÚrandomÚseedrÚrandintr r&rÓrHr€)rKrZdf1Zdf2rrr Ú$test_groupby_with_timezone_selectionÛs þÿz0TestGroupBy.test_groupby_with_timezone_selectioncCsptdgt tj¡gdœƒ}|ddjtjks2t‚tddddgiƒ}t tj¡|d<|ddjtjkslt‚dS)Nr)rµr‹r‹rrµrr)rrÚnowÚpytzÚutcÚtzinfor))rKrrrr Útest_timezone_infoés
zTestGroupBy.test_timezone_infocCsdtdddgdtdddddœƒ}| d    ¡j ¡}tdddgtdddgd    d
d d }t ||¡dS) Nrrrrär7ÚT)rœr%)rµr¯rµr§r¯rÈ)    rr r&r¯Úcountr    rrHr€r×rrr Útest_datetime_countós ÿ"zTestGroupBy.test_datetime_countcCsÈttjdddtjgtjtddtddtddtjgdœƒ}t |j¡|_d    |d
<||j ¡}| d
¡}| d
¡}t     
|  ¡|  ¡¡t     
|  ¡|  ¡¡t     
|  ¡|  ¡¡t     
| ¡| ¡¡dS) Nz2015-07-24 10:10z2015-07-25 11:11z2015-07-23 12:12r)Údaysrr)rŠÚtdr_Úgroup)rrDÚnanrrrrŠZnotnar&rHrIrÓrÖrÃÚlast)rKZdf_testZdf_refZ grouped_testZ grouped_refrrr Ú$test_first_last_max_min_on_time_dataûs0ûûøÿ
 
z0TestGroupBy.test_first_last_max_min_on_time_datacCs|ttdƒtjtdƒgdddgdœƒ}tddd    }| |¡d
 ¡}||j ¡ |¡d
 ¡}|j     
d¡|_    t   ||¡dS) Nz2016-06-28 09:35:35z2016-06-28 16:46:28Ú1Ú2Ú3)rßr°rßÚhr#r°) rr
rrr r&ZnuniquerßZnotnullr6Ú
_with_freqrHr€)rKÚtestr(rrrNrrr Ú%test_nunique_with_timegrouper_and_natsýúÿ z1TestGroupBy.test_nunique_with_timegrouper_and_natcCstdddgtdddgdddd    d
gd œ}t|ƒ d ¡}td d}| |¡}| ¡}| |g¡}| ¡}t ||¡dS)NZshanghaiZbeijingz2017-08-09 13:32:23z2017-08-11 23:23:15z2017-08-11 22:23:15zdatetime64[ns]r;rrr)Úlocationrßrrßrtr=)r    rr@r r&rêrHrI)rKZ
data_framer(rˆrrrNrrr Ú!test_scalar_call_versus_list_call0sþú
 
 z-TestGroupBy.test_scalar_call_versus_list_callcCsnd}tjd|ddd}tt|ƒ|d}| |jj¡ ¡}ttd|ƒttd|dƒ|j    d    d}t
  ||¡dS)
Nrz2018-01ruZMonth)r›rœr%r4r5rrr§) rZ period_ranger    rÕr&r6r rGrr4rHr€)rKrœr6Z period_seriesrrrNrrr Útest_grouper_period_indexDsÿÿz%TestGroupBy.test_grouper_period_indexcCsj|}|d dd„¡}tddddd}t |d    gt|ƒg¡}td
d d d d d d g|dd }t ||¡dS)NrcSs dt|ƒiS)Nrd)r'r‘rrr r¢Zr£zRTestGroupBy.test_groupby_apply_timegrouper_with_nat_dict_returns.<locals>.<lambda>ú
2013-09-01ú
2013-10-01r"rrhrdrrrrÈ)r•r rr¿r'r    rHr€)rKr,r+ÚresÚdtiÚmirNrrr Ú4test_groupby_apply_timegrouper_with_nat_dict_returnsRs z@TestGroupBy.test_groupby_apply_timegrouper_with_nat_dict_returnscCsb|}|d dd„¡}tddddd}td    tjtjtjtjtjd
g| d¡dd }t ||¡dS) NrcSst|ƒr|jdStjS)Nr)r'rCrDrïr‘rrr r¢hr£zTTestGroupBy.test_groupby_apply_timegrouper_with_nat_scalar_returns.<locals>.<lambda>rürýr"rrhrrrÈ)r•r r    rDrïrörHr€)rKr,r+rþrÿrNrrr Ú6test_groupby_apply_timegrouper_with_nat_scalar_returnsasýzBTestGroupBy.test_groupby_apply_timegrouper_with_nat_scalar_returnsc    Cs˜|}tddd}| |¡}|jdks(t‚|j |j¡jdks@t‚| dd„¡}t    dddd    d
ggt
t d ƒgdd t
d ddd
dgdd d}t   ||¡dS)NrZ100Yr#rcSs |ddS)Nrrrr‘rrr r¢ƒr£zSTestGroupBy.test_groupby_apply_timegrouper_with_nat_apply_squeeze.<locals>.<lambda>é$r7rrr„r§rrrrr¾)r r&Zngroupsr)Z _selected_objZ    _get_axisZaxisZnlevelsr•rrr
rHrI)rKr!rr*r+rþrNrrr Ú5test_groupby_apply_timegrouper_with_nat_apply_squeezess 
ýzATestGroupBy.test_groupby_apply_timegrouper_with_nat_apply_squeezeÚnumbacCsp|}|djdd„dd}|d tj¡}t ||¡|dgjdd„dd}|dg tj¡}t ||¡dS)NrcSs
t |¡Sr˜©rDÚnanmean©Úvaluesr6rrr r¢”r£zITestGroupBy.test_groupby_agg_numba_timegrouper_with_nat.<locals>.<lambda>r)ZenginecSs
t |¡Sr˜rrrrr r¢›r£)Z    aggregaterDrrHr€rI)rKr,r+rrrNZ    result_dfZ expected_dfrrr Ú+test_groupby_agg_numba_timegrouper_with_natŒsÿ 
ÿz7TestGroupBy.test_groupby_agg_numba_timegrouper_with_natN)"Ú__name__Ú
__module__Ú __qualname__rRrlÚmarkZ parametrizer]rsrrŒr—ršr±rÁrÄrÉrÍrÒrÔrØrãrèrërñrørúrûrrrríZ
skip_if_nor
rrrr r-Ns<0
 4
:B?    &=    
"r-)"Ú__doc__rrÚiorÚnumpyrDrlråZpandas.util._test_decoratorsÚutilZ_test_decoratorsríZpandasrrrrrr    r
r r Zpandas._testingZ_testingrHZpandas.core.groupby.grouperr Zpandas.core.groupby.opsrZfixturer!r,r-rrrr Ú<module>s  (