gL iddlmZddlZddlmZddlZddlZddlZddlmZm Z ddl m cm Z ddlZddlmZmZmZmZmZmZmZmZmZmZmZmZddlmZddlm Z ddl!m"cm#Z$ejJjMdZ'dZ(d Z)ejJjUd gd d Z+d Z,dZ-dZ.dZ/ejJjUdddgdZ0dZ1dZ2dZ3ejJjUd gddZ4dZ5dZ6dZ7dZ8dZ9dZ:d Z;d!Zd'Z?d(Z@d)ZAd*ZBd+ZCd,ZDd-ZEd.ZFd/ZGd0ZHd1ZId2ZJd3ZKejJjUd4d5d6gd7ZLejJjUd4gd8ejJjUd9ddgd:ZMd;ZNd<ZOd=ZPd>ZQd?ZRd@ZSdAZTdBZUdCZVdDZWdEZXdFZYdGZZdHZ[dIZ\dJZ]dKZ^dLZ_dMZ`dNZadOZbdPZcdQZddRZedSZfdTZgdUZhdVZidWZjdXZkdYZldZZmd[Znd\Zod]Zpd^Zqd_Zrd`ZsdaZtejJjUdbdcdcddggdeZudfZvdgZwdhZxdiZydjZzdkZ{dlZ|dmZ}ejJjUdndodpdqdodpgdodqggejJjUdrdsdtdsdtggduZ~dvZejJjUdwdxdxggejJjUdydcgdcddggejJjUdzdgdgd{gd|gedgedgedd}d}d~ejdddejdgdejdgdejdgdg gdejJjUdgdejJjUd#gddZdZdZdZdZdZdZdZdZejJjUdddggdZejJjUdddddededddgifddededededededgifddededededededgifgdZdZdZdZdZdZejJjUdgddZdZejJjUdedd|feddfeddfeddfeddfeddfedd|feddfeddfeddfeddfeddfg dZdZejJjUdgddZejJjUddej.de j0dgdZdZejJjUddddgfdddgfgdÄZdĄZdńZdƄZdDŽZdȄZejJjUd9ddgdɄZdʄZd˄Zd̄Zd̈́Zd΄ZdτZdЄZdфZd҄ZejJjUddd|d|ggdԄZdՄZejJjUddgdfddgdfdgdلZejJjUdgdڢdۄZejJjUdddgd߄ZejJjUdddgdZejJjUdddejbfgdZejJjUdgdgdgdfgdgdgdfgdZejJjUdgddZejJjMdejJjUdgddZdZdZejJjUd9ddgdZejJjMddZejJjUdd}d|gdZejJjUdgddZdZdZdZejJjUdddgejJjUdddd|gd}efdd|gddfdddgd}efddgddfgdZdZd Zd ZejJjUdddgd Zy( )datetimeN)Decimal)PerformanceWarningSpecificationError) Categorical DataFrameGrouperIndexInterval MultiIndex RangeIndexSeries Timedelta Timestamp date_range to_datetime) BooleanArrayz)ignore:Mean of empty slice:RuntimeWarningcBttdd}d}||k(sJy)NAB)keylevelzz)test_basic_aggregations..Os Q!VrF group_keyszusing SeriesGroupBy.meanmatchzusing SeriesGroupBy.sumc(||jzSNsumrPs rrRz)test_basic_aggregations..dsq1557{rc(||jzSrYrZrPs rrRz)test_basic_aggregations..esa!%%'kr check_index_typezusing SeriesGroupBy.[mean|std]nested renamer is not supported)onetwo rrWr$zPinning the groupby key to each group in SeriesGroupBy.agg is deprecated, and cases that relied on it will raise in a future versioncD|j|jzSrY)namemean)rQgroup_constantss rrRz)test_basic_aggregations..soaff&=&HrzMust produce aggregated valuec |dzSNr$rOrPs rrRz)test_basic_aggregations..s AEr)rr7r8random default_rngshufflereindexr3lenr9assert_produces_warning FutureWarning aggregaterjaggassert_series_equalr[apply transformr6pytestraisesr Exception) rDdatar+groupedkvmsgaggedrr transformed value_groupedrks @rtest_basic_aggregationsrGso "))A,!#299QG11v{{ %C # #M =+!!"''*+ 8q== $C # #M =(;;rww'(5(+5',,.1 [[]F #C # #M =';;rvv&'68,}}23H##$9:K q>R  ;1LL&M $C # #M =2((12655A +C # #M =5!!277BFF"345 -C ) 5;"''"&&9:;+O E # #M =J HIJ 8r>> *C y ,+/*++a++ (( ''22 55;;JJ++s` O' O!6 O.& O;0P1P4P!8P-O!O+.O8;PPP!P*-P6c|jjd}|j|}|j}|j|j dj}|jj t jk(sJ|jj t jk(sJtj||dy)NrOFr_) r+codesr3r[astyperDr7int8rEr9r:) multiindex_dataframe_random_datarrrrs rtest_groupby_nonobject_dtypers * 0 0 6 6q 9C.66s;G [[]F/77 3HLLNH <<   (( ( >>  288 ++ +&(UCrc :tgdgdtjjdj dtj tjjdj ddd}t t||d<d }d }tjt| 5|jd j|}dddj}|j}tj||y#1swY8xYw) Nfoobarrrrrrr)rbrbrcthreercrcrbrr$rHrDrrr(DvaluecB|j|djS)Nr)locidxmaxgroups r max_valuez5test_groupby_nonobject_dtype_mixed..max_valuesyyw..011r7DataFrameGroupBy.apply operated on the grouping columnsrUr)rr7rorpstandard_normalarrayr5rsr9rtrur3rydtypesrx)r>rrappliedrrs r"test_groupby_nonobject_dtype_mixedrs IM&&q)99!<"))//2BB1EYW   BB.BwK2 DC # #M =3**S/'' 23 ^^FyyH68, 33s 9!DDctgdttjddt ddd}d}|j d j d g}d }tjt| 5|j d j|d g}dddtj|d }d }tjt| 5|j d j|d g}ddd|j}tj|jd<tj||d}d }tjt| 5|j d j|d g}ddd|j}tj|jd<tj||d}d }tjt| 5|j d j|dg}ddd|j d j dg}tj |jd<tj||d} d }tjt| 5|j d j| }ddd|j d j dj}tj|jd<d|_tj$||y#1swYxYw#1swYAxYw#1swYxYw#1swY;xYw#1swYxYw)N)TigerrrLambrPonyrr]rEr20130101r!r,c |jdSNr)r2grps rf_0z*test_inconsistent_return_type..f_0sxx{rrrrrUc@|jdk(ry|jdS)Nrrrir2rs rf_1z*test_inconsistent_return_type..f_1s 88w xx{rrc@|jdk(ry|jdSNrrrrs rf_2z*test_inconsistent_return_type..f_2 88v xx{rrc@|jdk(ry|jdSrrrs rf_3z*test_inconsistent_return_type..f_3rrr(cZ|jdk(ry|jdjdS)Nrrr()rir2rrs rf_4z*test_inconsistent_return_type..f_4s( 88v xx{s##r)rrr7r8rr3firstr9rtruryr:r0nanrr-r1rirx) r>rrrrrerrrs rtest_inconsistent_return_typers L ! G4J2  Bzz#$$&u-H CC # #M =3C&&s+SE23&(+ DC # #M =3C&&s+SE23 AVVAEE'N&!$ DC # #M =3C&&s+SE23 AFFAEE&M&!$ DC # #M =3C&&s+SE23 3&AFFAEE&M&!$$ DC # #M =,C&&s+, 3$))+AFFAEE&M AF61%k33333333,,s<>%L8!%M1%M%M$!M,8MMMM),M5cdd}d}|jd}|jtjdd}|j tjdd}|j tjdd}|j d}|j |} tj||tj||tj|| |j|d}|j |d}|j |d}tj||tj||tj|| d D]} |jd | } | rdnt} d } tj| | 5| jtjdd}dddtj| | 5| j tj d}dddtj| | 5| j d}dddtj|dtj||| j tj ddg}tj| | 5| j ddg}dddtj|dtj| | 5| j|d}dddtj| | 5| j tj d}dddtj||tj||dy#1swYxYw#1swYxYw#1swYexYw#1swYxYw#1swYxYw#1swYzxYw)Nrc2tj|||S)Naxisr7 percentile)rQqrs rfz test_pass_args_kwargs..fs}}Q--rc2tj|ddS)NPrrrrPs rrRz'test_pass_args_kwargs..s"--2A.rc|jSrYmonthrPs rrRz'test_pass_args_kwargs..s aggrrr皙?r)TFc|jSrYrrPs rrRz'test_pass_args_kwargs..s qwwras_index*A grouping .* was excluded from the resultrUF check_namesg?r) r3rwr7rryrzquantiler9rxrurtrr:)tstsframerg ts_grouped agg_result apply_result trans_result agg_expectedtrans_expectedr df_groupedwarnrr expected_seqs rtest_pass_args_kwargsrs:. /A-.J r:J##BMM2A#>L'' r'BL&&s+L))!,N<6:|4<8R(J##A#,L''R'0L:|4<6<8"I__%6_J t]:  ' 'C 8 C# rBJ C  ' 'C 8 E%++I,>,>DL E  ' 'C 8 0!**3/H 0 lH%H j(3!'' (:(:S#JG  ' 'C 8 ;%..Sz:L ; lLeL  ' 'C 8 1#R0J 1  ' 'C 8 G%++I,>,>#+FL G j(3 lH%H/I C C E E 0 0  ; ; 1 1 G GsH#M9!NNN *N,"N89N N N N) ,N5 8O rTFc,gd|_|jd|}|rdnt}d}tj||5|j t jdd}ddd||jjd k(jd ||jjd k(jd d }t|j}|sttd |_tj|y#1swYxYw) N)rrrr(c|jSrYrrPs rrRz9test_pass_args_kwargs_duplicate_columns..,s 177rrrrUrrrrWrr$rWr$)columnsr3rur9rtrwr7rr+rrrTr r5r:)rrr?rrresex_datars r'test_pass_args_kwargs_duplicate_columnsr(s+GO *X >B4D 6C # #D 40ffR]]BQf/0 7==&&!+ , 5 5c : 7==&&!+ , 5 5c :G!##H uQx#x(00s #D  Dc ttjjdj dt t dttddd }|jd d d g}t|t|k(sJ|jd dg}t|jDchc]}|j|jfc}}t||k(sJycc}w)Nr$rdABCDr 2000-01-01rdrr"freqrr+c|jSrYyearrPs rrRztest_len..E AFFrc|jSrYrrPs rrRztest_len..E aggrc|jSrYdayrPs rrRztest_len..E rc|jSrYrrPs rrRztest_len..Hrrc|jSrYrrPs rrRztest_len..Hrr)rr7rorprr r4objectrr3rsr+rr)r>rrQrs rtest_lenr?s  a 009d6l&1r< B jj*,=OPG w<3r7 "" "jj*,=>?Grxx8!QVVQWW%89H w<8 ## #9s7C.cttjgdzgdd}t|j ddk(sJt|j ddk(sJt|j ddgdk(sJy)NrKrWr$rKabrrr)rr7rrsr3r>s rtest_len_nan_grouprMsq "&&AI6 7B rzz# 1 $$ $ rzz# 1 $$ $ rzz3*% &! ++ +rc,tttdddzDcgc]}d|z c}}tjj dj ddz}t|}|j |}|jycc}w)NrWrd?r$iLg$@)rr4r5r7rorpr3rj)rQrr~ groupingsrs rtest_basic_regressionrUst d5B<&82&=>S1W> ?F 99  # * *4 04 7Dt InnY'G LLN ?s B)rGrHrErFint16rc 4ttjd}ttjd||}ttj dddtj tj ddtj dg |}|j |}|jt}tddgddg}tj||d d }|j|}td d gddg}tj||y) Nrdrrrr*rr$F check_dtypec*tt|SrY)floatrsrPs rrztest_with_na_groups..fusSV}r@@) r r7r8ronesrr3rwrsr9rx)rDr+valueslabelsrrrrs rtest_with_na_groupsr`s "))B- E BGGBKe 4F  ubffbffeUBFFERF nnV$G KK Eq!fUEN3H5(>  KKNEsCj7H5(+rcd}d}d}tgdtdtddd}tgd tdtddd}d }d }tjt| 5|j d j |}dddtjt| 5|j d j |}dddtjd}tjt| 5|j d j |dddtjt| 5|j d j |dddtjt| 5|j d j |dddtjt| 5tjt| 5|j d j |ddddddy#1swYxYw#1swYdxYw#1swYxYw#1swYxYw#1swYxYw#1swYQxYw#1swYyxYw)Nc||jdzdk(dz}|jr(tggdzggdzddg}tdg|}|S|j ddg}|S)Nr$rWrclevelsrnamesrr)remptyr r set_indexrQy multiindexrs rf1z,test_indices_concatenation_order..f1sm qssQw1n  " 77#B4!8B4!8CQT:VJSE.f2sC qssQw1n  " 77;  S#J'AHrc||jdzdk(dz}|jr)tggdzggdzddg}tddg|}|S|S) Nr$rWrrrrrr)rrr rrs rf3z,test_indices_concatenation_order..f3sa qssQw1n  " 77#taxtaxu~JS#JjACJHr)rWr$r$r$rr#rJrrr)rKr$r$r$zDThe behavior of array concatenation with empty entries is deprecatedrrUrz@Cannot concat indices that do not have the same number of levels) rr5r9rtrur3ryr:r{r|AssertionError) r r"r$r>df2depr_msgrresult1result2s r test_indices_concatenation_orderr+~s  E!H5A;G HB ,U1XE!QKH ICUH DC # #M =,**S/''+, # #M =-++c"((,-'7+ MC ~S 1" 3b!" ~S 1# Cr"# ~S 1" 3b!" ~S 1'  ' ' X F ' KK  " "2 & '''!,,-- ""##"" ' '''s`1!H+5!H8!I!I!II69!I*I6+H58IIII'*I3 /I66I?cD|jd}|j}|jd}tj|||j }|Dcic]\}}||j }}}t |j}tj|||j}|jd}tj||d}tjt|5t|ddddycc}}w#1swYyxYw)Nc"|jSrYweekdayrPs rrRz#test_attr_wrapper..s 199;rc0tj|dS)NrW)ddof)r7r6rPs rrRz#test_attr_wrapper..sRVVAA%6rc|jSrYrrPs rrRz#test_attr_wrapper..s QWWrz-'SeriesGroupBy' object has no attribute 'foo'rUr)r3r6rwr9rxdescriberrr:rDr{r|AttributeErrorgetattr)rrrrrigprs rtest_attr_wrapperr7sjj./G [[]F{{67H68,   F4;<bbkkm#.s  rrjr#rr/Frrfc"|jSrYr.rPs rrRz$test_frame_groupby..s rc(||jz SrYrjrPs rrRz$test_frame_groupby..sa!&&(lrc"|jSrYr<rPs rrRz$test_frame_groupby..s affhrr)r3rvrsrr0r+r/r9r:headrzrjrxxsgroupsindicesitemstakeall)rr aggregatedtscopyrQstraggedrrirrjidxr/r@rArr samethings rtest_frame_groupbyrJsoo34G""6*J z?a   z!! "a '' '\\^F.4ll;;F9~~i(226:H(JEBll2&&'<=G##$:;K { r !! ! {"" #q (( (##$67KQ ezz|;; QC  " ";>>##6% P QQ "3{{1~%%'72223^^FooG &1MM&&wqz2 Q##%%%&3.s1qvvx<r5The 'axis' keyword in DataFrame.groupby is deprecated) r9rtrur3rvrsrrr:rz) rmappingrrrEtfgroupedTrrs rtest_frame_groupby_columnsrRs.AAA.G 7C # #M =3//'/23""6*J z?c'l ** * z!! "a '' ' B AC # #M =699$$W1$56(,,R022G4E4Eb4IJ#1199~"""#!3366sD.%D:.D7:Ecj|jd}|jd}|jjdk(sJ|jddjd}|jjdk7sJ|ddgj d}|jjdk(sJ|j dd d }|jjdk(sJ|dj}|jjdk(sJ|dj d}|jjdk(sJ|dj dd g}|jjdk(sJd }t j t| 5|dj dd d dddy#1swYyxYw)NrT numeric_onlyFrr(rrjr6r(rrarUrr)r3rjr+rirwr{r|r)r>rrrs rtest_frame_set_name_singlerXsjjoG \\t\ ,F <<   ## # ZZeZ , 1 1t 1 DF <<   ## # c3Z $ $V ,F <<   ## # [[vE2 3F <<   ## # S\   F <<   ## # S\  f %F <<   ## # S\  vuo .F <<   ## # ,C ) 58 67888s F))F2c |d}|d}|j|j|jg}|jd}|jddgj}tj|j ddddgf|j ddddgfdt tjjd jd tjjd jd tjgd tjgd d gd}|jddg}|jdy)NrrTrTr(rFrr$rrrrrr1r]r]2r^r^)v1v2k1k2)rbrcrfourfivesixr*rarbr[) r3getrjr9r:rrr7rorprrrw)r>col1col2rrrs rtest_multi_funcri-s c7D c7Djj$((DHH-.G LLdL +Ezz3*%**,H !c3Z- (,,q3*}"=5 ))''*::1=))''*::1=((9:((9:  = Bjj$&G KKrc|jddgd}|jddg}t|jd|jdd}tj||y)Nrrr(rjr6)rjr6)r3rwrr9r:)r>rrrs r!test_multi_key_multiple_functionsrkIs\jj#s$S)G KK (E'++f"5gkk%>PQRH%*rc tgdgdtjjdj dtjjdj dtjjdj dd}|j ddg}dd g}|j |}tj|d j ||d j ||d j |ggd d}t|jtsJt|jtsJtj||y)N rrrrrrrrrrr rbrbrbrcrbrbrbrcrcrcrbr$ )rrrEFrrrjr6rrprq)rrprqrW)keysr)rr7rorprr3rwr-concat isinstancer+r r9r:)r~rfuncsrrs r"test_frame_multi_key_function_listrvQs%   &&q)99"=&&q)99"=&&q)99"=;  DDllC:&G UOE KK Eyy   % '#,"2"25"973<;K;KE;RS  H ekk: .. . hnnj 11 1%*rc tgdgdgdtjjdj dtjjdj dtjjdj dd}|j ddg}d d g}t jd }|rd }tjt| 5|j|dddy#1swYyxYw)Nrmrn) dullrxshinyrxrxryryrxryryryr$ro)rrr(rrprqrrrjr6&agg function failed [how->mean,dtype->-dtype 'str' does not support operation 'mean'rU) rr7rorprr3reescaper{r| TypeErrorrw)using_infer_stringr~rrurs r2test_frame_multi_key_function_list_partial_failurers    &&q)99"=&&q)99"=&&q)99"=U+ - D^llC:&G UOE ))< =C= y , Es (DD opc"|jSrYrZrPs rrRrRs !%%'rc"|jSrYr<rPs rrRrRs QVVXrc |}|jddg}||}g}g}|jdD][\}}|jdD]B\} } |j|| f|j|| jddddgfD]tj|ddg} t j |dj} | | _dD]C} ||| }|| }| | }tj||tj||E|dj|d|dgj}|jddgjd} tj|| y) Nrrr(rrrWrrV) r3appendrr from_tuplesr-rsrr+r9rxrj)r>rr~rr)rrrn1gp1n2gp2mircol result_colpivotedexprs rtest_groupby_multiple_columnsrsx DllC:&GkG D F<<$6C{{3' 6GB KKR ! MM"SWWQc ]34 5 66   S#J 7Byya(**HHN- % #,sm z3/ w, -#Y  S 495 6 ; ; =F||S#J',,.s3H68,rctddgddgddggddg}|jdd djd}tddgd }t j |||jdd d dj d}tgddtjgd}t j ||y)NrWr$rr#rZrrrFrriT)rrTc"|jSrY)cumsumrPs rrRz-test_as_index_select_column..s !((*r)r$rZrZ))rr)rrWrrir+) rr3 get_grouprr9rxryr rr>rrs rtest_as_index_select_columnrs QFQFQF+c3Z @B ZZeZ ,S 1 ; ;A >Fq!f3'H68, ZZeZ =c B H HF:#9#9:R#SH68,rcjd}tgdgdd}|j|jdjj d}t j t|5|jdjd|}t j||dddy#1swYyxYw) Nzobj is deprecatedrWrWr$rKrr#rrrrU)obj) rr2r3rArfr9rtrurr:)r(r>rrs r!test_obj_arg_get_group_deprecatedrs"H 3 4Bwwrzz#..22156H # #M B0C**1"*5 fh/000s '9B))B2cttgdd}|jdddjd }t|jdd t d  }dg|j_tj||y) Nr,alpharrrF)byrrrTr$rr) rr r3r[rr5rr9r:)r>leftrs r0test_groupby_as_index_select_column_sum_empty_dfrsr 5w? @B ::u: -c 2 6 6E 6 JDBQuQx@H"VH$)rc|jdd}|ddgjd}|jd}tj|||jdd d }|jd}|j d|d<tj|||jdd}d }t jt| 5|djd d iddd|jddgd}|jd}|j}tj|||jdd d }|j}|j d|d<tj|||dj }t|jdd i}d}tjt| 5|djd d i}dddtj|ttjjdj!dddgd}t#tjjdj!dddd} |j| } | j%dd}tjt|d5| j't } dddtjt|d5|j| j't } dddtj  dD]z} |j| d} t)| | }|j| j*d} t)| | j-d}tj|||y#1swYxYw#1swYxYw#1swYxYw#1swYxYw)NrFrr(rrjTrTr[rVrarUQrrz7Passing a dictionary to SeriesGroupBy.agg is deprecatedr$rd)2rK)jimjoejolier#rdrrrz:The behavior of DataFrame.sum with axis=None is deprecated)rVcheck_stacklevel)rjmaxcountrrrDdrop)r3rwrjr9r:r[r{r|rrrenamertrur7rorpintegersrnthryr5r reset_index)r>rrrr* expected2r expected3result3rgrraltattrrrights rtest_groupby_as_index_aggrs^jjuj-Gc3Z $ $V ,F|||.H&(+kkU34G $ /I[[]3'IcN'9-jjtj,G ,C ) 5' #u&' jj#sej4G [[ F||~H&(+kkU34G I[[]3'IcN'9-   "I)$++S#J+?I CC # #M =1#,""C<01'9-  a ))!S':' B  %%a(11!R<5 IB BBFF1I FC # #Mu Uhhsm # #Mu U(jjn""3'(#s#C+ ZZUZ + wr4 " ZZ DZ 1!D!#//T/: dE*+Q''&11((s0OO O %O-OO O*-O6c|dvrtjd|ttjj dj ddddd g }t|jd|}|d k(r|jd }|j}|d k7r$|dj|dj|d<|jdd }t||}tj|||j|}tj||t|d |}tj|||d j|}tj||y)N)corrwithrngroupz!GH 5755: Test not applicable for r$rr#)rr$)sizerrrrFr)r{skiprr7rorprr5r3rrrrDr9r:rw)reduction_funcr>rrrs rtest_ops_not_as_indexrCsU66 77GHI  a ))!QX)>c  B8wrzz#79H??6*##%H  ,,RW]];  3 'A 'WQ ' )F&(+ UU> "F&(+ ,WQsV^ , .F&(+ sVZZ 'F&(+rcL|jdd}|jddgd}|djd}|jdjddddgf}t|tsJt j |||djd}|jdjddgdf}t|tsJt j |||dj}|jjddddgf}t|tsJt j |||dj}|jjddgdf}t|tsJt j ||y)NrFrrr(r[r,)r3rwrrtrr9r:r[)r>rgrouped2rrr*rs r!test_as_index_series_return_frameresnjjuj-Gzz3*uz5H S\  e $F{{5!%%a#sm4H fi (( (&(+sm&G U#''?(:;I gy )) )'9- S\   F{{}  S#J/H fi (( (&(+sm!G ""1o#56I gy )) )'9-rc|jdd}d}tjt|5|dj ddddy#1swYyxYw)NrFrzColumn\(s\) C already selectedrUr(r)r3r{r| IndexError __getitem__)r>rrs r(test_as_index_series_column_slice_raisesr~sNjjuj-G +C z -&   %&&&s AAc|}|jdd}|jd}|jdgjd}|jdd|jt t ||_t j|||jddgd}|j}|jddgj}tt|jj}|jdd|d|jdd|dt t ||_t j||y) NrFrTrTrrrW) r3rjinsertr+r rsr9r:r4zipr)r>r~rrrarrayss rtest_groupby_as_index_cythonrs Dll3l/G \\t\ ,F||SE"''T':H OOAsHNN+H .HN&(+llC:l6G \\^F||S#J',,.H #x~~,,- .F OOAsF1I& OOAsF1I&H .HN&(+rc|jddgd}|djt}|jtjddgdf}t j ||y)NrrFrr(r,)r3rwrsrr9r:r>rrrs r#test_groupby_as_index_series_scalarrs\jj#sej4GS\  c "F{{3##A$67H&(+rcd}tjt|5|jdddddd}d}tjt|5t j t|5|jddd ddddddy#1swYkxYw#1swYxYw#1swYyxYw) Nz(as_index=False only valid with DataFramerUc"|jSrYr.rPs rrRz.test_groupby_as_index_corner..s QYY[rFrz$as_index=False only valid for axis=0rLc"|jSrY)lowerrPs rrRz.test_groupby_as_index_corner..s rrW)rr)r{r|r~r3 ValueErrorr9rtru)r>rrr(s rtest_groupby_as_index_cornerrs 4C y ,: (5 9: 1Cc xttjjdj dt t dttddd }|jd d d g}|j}tj|j|jd }tjt|5|j jdddgd}ddd|j#d}tj$|j&|j(tj|j j|j|j#d}tj|j j|jy#1swYxYw)Nr$rrrrrdrrrc|jSrYrrPs rrRz+test_groupby_multiple_key..rrc|jSrYrrPs rrRz+test_groupby_multiple_key..rrc|jSrYrrPs rrRz+test_groupby_multiple_key..rrrLrUc|jSrYrrPs rrRz+test_groupby_multiple_key..s qvvrc|jSrYrrPs rrRz+test_groupby_multiple_key.. rc|jSrYrrPs rrRz+test_groupby_multiple_key..s AEErrWrc"|jSrYrZrPs rrRz+test_groupby_multiple_key.. !%%'rc"|jSrYrZrPs rrRz+test_groupby_multiple_key..rr)rr7rorprr r4rrr3r[r9assert_almost_equalrrtrurrwassert_index_equalr+r)r>rrr(s rtest_groupby_multiple_keyrs=  a 009d6l&1r< B jj*,=OPG KKME299ell3rrs rtest_groupby_multi_cornerrsm BBuI JJSz " ' ' )Ezz3*%**,HffHUO%*rc|jd}tjd}|rd}tjt |5|j ddddtjt |5|jddd|jddgdf}tj|d<|jd}d}tjt |5|j d dddtjt |5|jdddd }tjt|5|jd d d d d d }dddd}tjt |5|j ddddy#1swY]xYw#1swY6xYw#1swYxYw#1swYxYw#1swYtxYw#1swYyxYw)Nrrzr{rUrjrr(rrpz/datetime64 type does not support sum operationsr[rLrrW)rr(rrprz?does not support reduction 'sum'|Cannot perform reduction 'sum'c(|jddS)NrFrTrZrPs rrRz)test_raises_on_nuisance..saeeAEe:r)r3r|r}r{r|r~rwrjrrnowr[r9rtru)r>rrrr(s rtest_raises_on_nuisancersjjoG ))< =C= y , F y ,  ?" #BllnBsGjjoG ;C y , E y , =H # #M BG**1111=A*FG KC y ,< :;<<' GG<rrrrs rtest_keep_nuisance_aggrs jjoG +WWl + -F{{}HSwrvvbg.>.C'DlSUHLLSwrvvbg.>.C'DlSUHLL&(+r)r[rjprodr6varsemmedianrUc|jd}d}||vrq|so|r d|d}t}n,|dvr t}d}nt}tjd|d}t j || 5t||| dddyt||| }|s |d k(rgd } ngd } t|jdd| fjd|| } tj|| y#1swYyxYw)Nr)rr6rrjrr(dtype 'str' does not support operation '')r6rz(could not convert string to float: 'one'zagg function failed [how->z,dtype->rUrTr[rr) r3r~rr|r}r{r|r5rr9r:) r>rrUrrno_drop_nuisancerklassrrrs rtest_omit_nuisance_aggrsjjoGF''  <\N!LCE ^ +Errerrrs r$test_raise_on_nuisance_python_singler'sRjjoG C C= s# & s AAc^|jddg}tjd}|rd}tjt |5|j ddddtjt |5|jdddy#1swY>xYw#1swYyxYw)Nrrrzr{rUrj)r3r|r}r{r|r~rwrj) three_grouprrrs r&test_raise_on_nuisance_python_multipler4s!!3*-G ))< =C= y , F y , sB=B#B #B,c ttjgdtjgdddgdztjj dj dtjj dj dd}|j d d g}|d d gjd }|jd}tj|||ddj d}|jd}|djd }tj|d||jjdk(sJy)Nr[r\rrrKr$rZ)rarbk3r_r`rarbr_r`rjTrTr#rrc"|jSrYr<rPs rrRz*test_empty_groups_corner..Qs AFFHrrr)rr7rrorprr3rwrjr9r:ryrxr+ri)rr>rrrragged_As rtest_empty_groups_cornerr ?s' ((9:((9:%.1$))''*::1=))''*::1=   Bjj$&G dD\ " & &v .F|||.H&(+.q3;;!;DG MM, -Ecl  (G5:w/ ;;  w && &rctdg}d}tjt|5|j ddddy#1swYyxYw)Nrz5unsupported operand type\(s\) for \+: 'int' and 'str'rUc |dzS)NrrOrPs rrRz$test_nonsense_func..[s QYr)rr{r|r~r3)r>rs rtest_nonsense_funcr WsB A3B BC y ,( &'(((s AAc|j}d|d<tjgdtjgdg}tjd}|rd}t j t|5|j|jdddd|jdj|jd}t|jtsJd }t j td 5|j|j|dddy#1swYxYw#1swYyxYw) Npeekaboo)bazrcrrrWrzr{rUrjrcV|jdk(r td|jS)N)rrbTest error message)rir~r[)r=s raggfunz5test_wrap_aggregated_output_multindex..aggfunms& 88~ %01 1wwyrr)rr7rr|r}r{r|r~r3rwrrtrr rv)rrr>rrrrrs r%test_wrap_aggregated_output_multindexr^s * + +B!B| HHY )!4 5D ))< =C= y ,% 4V$% GGNG + 3 3D 9 = =f EE emmZ 00 0 y(< =+ 4""6*++%%++s4!D1!D=1D:=Ecl|jdj}|jjdk(sJ|jdj}|jjdk(sJ|djdj}|jjdk(sJy)NrrrrWsecondr)r3rr+ri)rrs rtest_groupby_level_applyrvs - 5 5A 5 > D D FF <<   '' ' - 5 5A 5 > D D FF <<   (( ( -c 2 : : : C I I KF <<   '' 'rc|j}ddddd}dddd}|j|dj}|j|dj}tj|dDcgc]}|j |c}tj }tj|dDcgc]}|j |c}tj }|j|j} |j|j} d \| j_| j_tj|| tj|| ycc}wcc}w) NrrW)rrrqux)rbrcrrrrr)rr) rr3r[r7rrfrEr+rir9r:) r deleveledmapper0mapper1result0r)rQ mapped_level0 mapped_level1 expected0 expected1s rtest_groupby_level_mapperr"s<0<<>I!A6GA.G.66wa6HLLNG.66wa6HLLNGHH!*7!34AQ4BHHMHH!*8!45AQ5RXXM188GKKMI088GKKMI1B.IOO)//.'9-'9- 5 6s 6E8;E=c htgdtgdd}tgdttddd}|jd j }t j |||jdg j }t j |||jd j }t j |||jd g j }t j ||d }tjt| 5|jd dddtjt| 5|jd dddd}tjt| 5|jg dddd}tjt| 5|jddg dddtjt| 5|jddg dddd }tjt| 5|jdg dddy#1swY$xYw#1swYxYw#1swYxYw#1swYxYw#1swYtxYw#1swYyxYw)N)rWr$rKrdrr#rerZ)rWr$rKrWrr#r$rZrr)rorKrr#rZrWr]rrr)z2level > 0 or level < -1 only valid with MultiIndexrUzNo group keys passed!z*multiple levels only valid with MultiIndex) rr r5r3r[r9rxr{r|r)srrrs rtest_groupby_level_nonmultir's#)51IPU+VWA*E%1+E,JKH YYQY  # # %F68, YYaSY ! % % 'F68, YYRY $ $ &F68, YYbTY " & & (F68, >C z -   z -   !C z -   6C z -  A  z -  A  >C z -      sH6I+,I8$JJJJ(+I58JJ JJ%(J1cttjddzgd}td}|jdj }t j ||y)Nr?@)rrrWrWr~r+)r)y@$@rr)rr7r8r3r[r9rx)rrrs rtest_groupby_complexr+sOBIIaLF+<@A'(H YYQY  # # %F68,rctdddddddddg}|jdj}tdgdggtddgd td g }t j ||y) Nr$r)rrW??rr?rrr+r)rr3rjr r9r:rs rtest_groupby_complex_meanr0s & !& !& !  BZZ_ ! ! #F f(s3se H &(+rctdddddddddg}ttjgdtjt gdd t d g }|j d d j }tj||t gdd |_ |j d dj }tj||y)NrWr-rr)r)rWrWrWr)r-r)?rrrr/Fsort)r2r-r)T) rr7rrEr r3rr9r:r+r>rrs rtest_groupby_complex_numbersr6s & !& !!   B "((+2=se H ZZ%Z ( . . 0F&(+9DHN ZZ$Z ' - - /F&(+rc^tgdtgd}tgdtgd}|j|}|j}|j|j |j j j}tj||y)N)@g"rgY@ggK@g@)rrrdrrrr*)rrrr8r8g@)rrr9rrh) rr r3rjrrr+rfr9rx)s1s2rrrs r'test_groupby_series_indexed_differentlyr=s 078 B &e4R.S BjjnG LLNE **RZZ)-- . 3 3 5C5#&rcttgdgdg}tj|}tjgd}t t j jdjd||}|jdj}tj|j|d }tjt| 5|jdd }dddj}tj|j |j |jdj#d }tj|j||jdj%d}tj|j|tjt| 5|jdd }ddd|j#d}tj|jt'ddgtj|j |j |j)d\}}d|d<|jdjd}tj|j|jddy#1swYxYw#1swYxYw)N)rrrrrrrr)rbrcrbrcrbrcrbrc))rcat)rdog)rr?)rr@r$)rrr/rrrLrUrW)rrrjc"|jSrYr<rPs rrRz0test_groupby_with_hier_columns..s rc$|jdS)NrWr<rPs rrRz0test_groupby_with_hier_columns..saffQirrrr)rrTrTr))r4rr rrr7rorprr3rjr9rrrtrur+rwryr sortlevel) tuplesr+rr>rr(r?sorted_columns_s rtest_groupby_with_hier_columnsrGs5  HH F  " "6 *E$$@G  a 008w BZZaZ % % 'F&..'2rrrrs rtest_grouping_ndarrayrI%sYjjC(Gzz"S'.../H [[]F||~H&(+rctgdd}tgdgdgdgdgdd | }|jgd }|jd }|j }t j ||y) NrrWr$rKrr+r)foo1rLfoo2rLfoo3)bar1bar2rPrOrO)baz1rQrQbaz2rR)spam2spam3rSspam1rU)rerf(r<)rrrspamr~r*)rrrrXrj)r rr3rwrjr9r:)r+r~rrrs rtest_groupby_wrong_multi_labelsrY.sk / 0E ;;;A(   Dll89G [[ F||~H&(+rc|j|djd}|j|ddjd}|jjdk(sJd|vsJ|j|d|dgj}|j|d|dgdj}|jjdk(sJd|vsJd|vsJy)NrTrTFrrrr)r3rjr+rirr>rr*s rtest_groupby_series_with_namer]Bs ZZ3 % %4 % 8FjjC5j166D6IG <<   ## # '>> ZZC"S'* + 0 0 2Fjj"S'2c7+ej<AACG <<   ++ + '>> '>>rc|jdd}|jjdk(sJ|jjdk(sJd}|j |jdk(sJy)Nrr(c2tj|dzSrn)r7r[rPs rrRz.test_seriesgroupby_name_attr..UsQr)r3rrirjrw)r>rtestFuncs rtest_seriesgroupby_name_attrraOsj ZZ_S !F <<>  # %% % ;;=   $$ $&H ::h  $ $ ++ +rctgdgdtjjdj ddztj dd}|j dgjj}|jj |jj}tj||y)Nr)rbrbrcrcrcrcrbrcr$rrrr) rr7rorprr8r3rrrr9rxr5s rtest_consistency_namercYs II&&q)99!ris r summarizez0test_groupby_name_propagation..summarizels11=DIIrcDtdddd|jddS)NrWr$rKrfrrr)rr2rs rsummarize_random_namez.summarize_random_nameos$11=BGGAJsOTTrrrUrmetricsrY)r9rtrur3ryrri)r>rhrjrrks rtest_groupby_name_propagationrljsJU DC # #M =3**S/'' 23 ??   '' ' # #M =>**S/'' 9=> ??  9 ,, , # #M =?**S/''(=>? ??   '' '33>>??s#!D#"D/!!D;#D,/D8;Ec*ttdDcgc]}tjdc}}|j d}|j }|j |dj }t j||ycc}w)Nrdr)rr5r7r8r3rjr9r:)rQr>rrrs rtest_groupby_nonstring_columnsrnsk 595aBIIbM5 6BjjmG \\^Fzz"Q% %%'H&(+ 6sBc:tgdggd}tddggddgtdgd  }|jdj}t j |||jdj }t j ||y) Nrg)rrrrrWr$rrrrr)rr r3rr9r:r[r5s rtest_groupby_mixed_type_columnsrps} I; 6B1a&C85!3;OPH ZZ_ " " $F&(+ ZZ_ "F&(+rcjtjd}|jtjt |dddf}tj t dd}|j|jtj}|jjsJy)N)rrrrd) r7rfillrrtiler5r3rwrisnarD)arrrindsrs r(test_cython_grouper_series_bug_noncontigrws{ ((: CHHRVV QT C 7759b !D [[  " "6== 1F ;;=    rcJtdgdz}ttjj dj d|ddd}tjj dj ddd}|j|}d}|j|y) N aaaaaaaaaarr$rr*rr#cZtttt|jSrY)rssetmapidr+rPs rrRz5test_series_grouper_noncontig_index..s#c#b!''*+,r) r rr7rorprrr3rw)r+rrrrs r#test_series_grouper_noncontig_indexr~s 8*s" #E BII))!,<test_convert_objects_leave_decimal_alone..convert_fastss1668}%%rct|jjdkDsJtt |j Sr)rsrbaserrrjrPs rconvert_force_purezDtest_convert_objects_leave_decimal_alone..convert_force_pures2188==!A%%%s1668}%%rr) rr5r7rr3rwrDobject_rtr2r)r&rrrrrs r(test_convert_objects_leave_decimal_alonersuQxA XX/s ;F&& iiG [[ &F <<2:: %% % fkk!ng .. . [[+ ,F <<2:: %% % fkk!ng .. .rcftgtjddd}|djtjk(sJ|j dj }tgdtj}tdtg|di}tj||d y) NrrEr)rQr5rQrirDr5rLT) by_blocks) rr7r8rDrGr3rr rr9r:)r>r exp_indexrs r"test_groupby_dtype_inference_emptyrs bii&AB CB c7==BJJ && & ZZ_ " " $Fbs"**5I'6"IW#MNOH&(d;rctdgdgdgd}|jddgdj}tdgt j dgdggddgd}t j||y) NrWl4;PU)rrrrrrrr)rr3rrr from_productr9rxrs r$test_groupby_unit64_float_conversionrs~ aSQC;O:PQ RB ZZ(+ ,W 5 9 9 ;F !qc 7H2EF H 68,rc|jt|djd}|j|djd}tj||dt j td5|jt|ddddddtd d gd d gtjjd jd d}|jddgj}|j|d|dgjdg}y#1swYxYw)NrTrTFrz^'foo'$rUr)rrWrKrr$)rrvalrrr) r3r4rjr9r:r{r|KeyErrorrr7rorprrs r"test_groupby_list_infer_array_likers ZZRW & + + + >Fzz"S'"''T':H&(> xz 2' 43 %&' q6q699((+;;A>  BZZ ' , , .Fzz2e9bi01668%AH''s !D::EcFd}ttdd|}tddgddggd d g| }|jt d | d gj }|j |jd gjt}tj||y)Nr&z2015-09-29T11:34:44-0700r$)startr"rrrdrmetricrrr)rr) rrrr3r rjrr+rrr9r:)rr+r>rrs r$test_groupby_keys_same_size_as_indexrs D 23QT E S"IRy)Hh3Gu UB ZZqt4h? @ E E GF||RXXx0188?H&(+rcd}ttjjdj dt d}t jt|5|jddddttjjdj dt d}t jt|5|jddddy#1swYxYw#1swYyxYw) Nz^'Z'$r$)rWrrrrUZ)r$r) rr7rorprr4r{r|rr3)rdf1r's rtest_groupby_one_rowrs C  a 008$v, C xs + C  a 008$v, C xs + C  s C2C>2C;>Dc 4 ttjjdj dtj t dtj t dtj t dtj t dgtj dtj dtj dtj dgd}|jd}td d gtd d gg}t|jj}t|dk(sJt||D](\}}tj|j||*tj |j"j$d j&||j(dk(sJt dtj*d d gtj,t dtj*d d gtj,i}|j.D](}tj0|j.|||*tj |j3t d|j4d d gtj |j3t d|j4d d gt7j8t:d5|j3t<j>dddttj tj tj gt<j>t<j>t<j>gd}|dj@dk(sJ|dj@dk(sJdD]}|j|}|jik(sJ|j(d k(sJ|j.ik(sJt7j8t:d5|j3tj dddt7j8t:d5|j3t<j>dddy#1swYlxYw#1swY\xYw#1swYxYw)Nr$rz 2013-01-01z 2013-02-01rr)rdtrrrWr]rKr#rz2013-01-01 00:00:00rz2013-02-01 00:00:00z^NaT$rU)rnatrrGrzdatetime64[ns]z^nan$)!rr7rorprrrr3r sortedr@rrrsrr9rr:_grouperrrngroupsrintprAassert_numpy_array_equalrr2r{r|rr-r1rD)r>rrrrrrnan_dfrs rtest_groupby_nat_excluder s ii++A.>>qA,',',',' FFCbffc2663G  B jjGq!f uaV}-H '..%%' (D t9>>D(#41 gnnQ/34 '**44Q7;;R@ ??a   '("((Aq6*I'("((Aq6*IH __E ##GOOA$6 DE'++Il,CDbggqRSfoV'++Il,CDbggqRSfoV xx 0""&&!"("&&"&&"&&1IJF %=  ) ++ + %=  "2 22 2&..%~~###!###"$$$ ]]88 4 &   bff % & ]]88 4 &   bff % & &&"" & & & &s$+ Q5 R R5Q?R R cttjtjgtjtjgddgd}|jddgj}|ik(sJy)NrWr$r%rr)rr7rr3rA)r>rs r#test_groupby_two_group_keys_all_nanrKsU "&&"&&)0@1vN OB ZZc # + +F R<'?@ J7rc tjtjdtjdtjdf}tjd}t||||tjj dj dd}|jgdj}|jgdj}t|t|k(sJy)Nr iiar$)rrr(rrpr)rr(rr) r7 concatenater8rrorprr3r[rs)rrr>rrs rtest_int32_overflowr^s  %("))E*:BIIdOLMA %A &&q)99%@   B ::* + / / 1D JJ+ , 0 0 2E t9E "" "rctgdgdgdtjjdj dd}|gdj Dcgc] }t |}}tj|}|jgdd j}tj|jj |gd |gd j Dcgc] }t |}}tj|}|jgd d j}tj|jj ||gd j Dcgc] }t |}}tj|}|jgd d j}tj|jj |gd tgdgdtjjdj dd}|jddgd}|j}dfd}|||ddgdycc}wcc}wcc}w)Nrrr)rKr$rWrgr$rKrrrr9r%Tr3)rWr$r)rrr)rrr)r$rWrrrWr$rrWr$)rrrrWrWrWrZ)rrr9rrr9c"|jSrYrZrPs rrRz)test_groupby_sort_multi..s AEEGrc||jDcgc] }t|}}tj|}||j ||}|j D]\}} ||| k(rJycc}wrY)rtuplecomasarray_tuplesafer3rB) r>rrrfieldrrowtupsrrrs r_check_groupbyz/test_groupby_sort_multi.._check_groupbysx&(hoo6sc 66$$T*RZZ%e,-NN$ "DAq!9> !> "7sA8)rr7rorprrrrrr3r[r9rr+)r>rrrrQrrs rtest_groupby_sort_multirps &&&q)99!<   B#%_"5"<"< =3E#J =D =   &D ZZdZ 3 7 7 9F 3 3T)_E"$_"5"<"< =3E#J =D =   &D ZZdZ 3 7 7 9F 3 3T: 188 9E!H 9D 9   &D ZZdZ 3 7 7 9F 3 3T)_E ##&&q)99!<  Bjj#s$S)G [[]F2C"2vSz3/A > > :sI!$I&-I+ctgdgddzd}d}tjt|5|j dd j d }dddtj |y#1swY xYw) N)rrrrrrrr$)rrirrUrFrSc|SrYrOrPs rrRz/test_dont_clobber_name_column..sQr)rr9rtrur3ryr:)r>rrs rtest_dont_clobber_name_columnrsy .8MPQ8QR B DC # #M =HEe4::;GH&"%HHs $A66A?c ttjjdj dt t dttddd }|jd d }|jd }|Dcgc]\}}|jddd}}}tj|}tj|||djdd }|jd}|Dcgc]\}}|jdd}}}tj|}tj ||ycc}}wcc}}w)Nr$rrrrrdrrrc|jSrYrrPs rrRz&test_skip_group_keys..s AGGrFrSc,|jdddS)NrrrK sort_valuesrPs rrRz&test_skip_group_keys..sQ]]c]%:2A%>rrrrKc|jSrYrrPs rrRz&test_skip_group_keys..rrc(|jddSrNrrPs rrRz&test_skip_group_keys..sQ]]_Ra%8r)rr7rorprr r4rrr3ryrr-rsr9r:rx)tsfrrrrpiecesrs rtest_skip_group_keysrs+  a 009d6l&1r< C kk+k>G ]]> ?F>E F Ue3'+ FF Fyy H&(+#h0UCG ]]8 9F8? @*#ue!"1% @F @yy H68,GAs EEc|dj}d|_|j|djd}|jJy)Nr(rr[)r0rir3rw) float_framer&rs rtest_no_nonsense_namersJCA AF YY{3' ( , ,U 3F ;;  rcttjdjdd}d|d<gd|d<|j d}|j ddd }|dj tjk(sJy) NrJrKrtest)g?r.g?flr[r)rr$)rr7r8reshaper3rwrDrG)rQrrs rtest_multifunc_sum_bugrsp"))A,&&q!,-AAfIAdGiiG [[&1 2F $<   ++ +rcd}d}|jddj|}|jddj|}t|tsJt j ||y)NcD|j|jdSNrrrrs rrz(test_handle_dict_return_value..fsyy{599;77rcVt|j|jdSr)rrrrs rrz(test_handle_dict_return_value..gseiik%))+>??rrr()r3ryrtrr9rx)r>rrrrs rtest_handle_dict_return_valuersi8@ZZ_S ! ' ' *Fzz#s#))!,H ff %% %68,rgrouperrrcd}dfd}|j|d}d}tjt|5|j |ddd|j |j d|j ||d j ||d j |d j |g|d j |y#1swYxYw) Nc"|jJ|SrYrrs rrztest_set_group_name..fszz%%% rc>|jJ|jSrY)rir[rs rfreducez$test_set_group_name..freduceszz%%%yy{rc|SrYrO)rQrs rfreducexz%test_set_group_name..freducexs qzrFrSrrUrVr()r3r9rtruryrvrz)r>rrrrrrs @rtest_set_group_namersjjUj3G DC # #M = a g G'23 a CLq CL7# CLGX./ CL1s C  C)ctgdtjdd}gfd}d}tjt |5|j ddd j|dddgd }|k(sJy#1swYxYw) N)rrrWrWr$r$rZrcZj|j|jSrY)rrir0)rrs rrz6test_group_name_available_in_inference_pass..fs UZZ zz|rrrUrF)r4rTrg)rr7r8r9rtrur3ry)r>rrexpected_namesrs @r+test_group_name_available_in_inference_passrs +"))A,? @B E DC # #M =? 3Uu 5;;A>?N N "" " ??s $BB c8|j|djj}|jjJ|j|dj|djgj}|jj dk(sJy)Nrr)NN)r3rr[r+rirr\s rtest_no_dummy_key_namesrs{ ZZ3 ' + + -F <<   $$ $jj"S'.."S'..9:>>@G ==  , .. .rctddgddgggdgdgddg}tgd| }tddgddgggd gd gddg}tgd | }|jddgd j}t j |||jddgdj}t j ||j y)NrWr$)rrrrrWrW)rWrWrrrrrrr)rrWr$rKrr#r*r)rWrrrr$rFrr4T)r rr3rr9rx sort_index)r+mseriesmseries_resultrs r#test_groupby_sort_multiindex_seriesrs AA!#56Cj E 'u5G AA 9'=c3Z EIU3N __C:E_ : @ @ BF6>2 __C:D_ 9 ? ? AF6>#<#<#>?rcd}tdd|}ttj|tj|d|}d d}|j d}|j d |tj i}|j d |tj d i}tj||y) Nz2012/1/15min)rrr")highlowr*cfd}|S)z> Run an aggregate func on the subset of data. c|j|jjdj}r||jdt |dk(ry|S)Nc |jdkS)Nro)hourrPs rrRzYtest_groupby_reindex_inside_function..agg_before.._func..:s!&&2+rr)rr+r|dropnars)r~r9fixfuncs r_funczGtest_groupby_reindex_inside_function..agg_before.._func9sR(=>?FFHATZZ]#1v{7NrrO)rrrs`` r agg_beforez8test_groupby_reindex_inside_function..agg_before4s   rcXt|j|j|jSrY)rrrrrPs rrRz6test_groupby_reindex_inside_function..Cs8AFFAGGQUU#CrrT)F) rrr7r8r3rwrr9r:)r"indr>rr closure_bad closure_goods r$test_groupby_reindex_inside_functionr/sG :FG DC BIIg.ryy7IJRU VB jjCDG++vz"&&'9:;K;; 2664(@ABL+|4rc,tgdgdgdd}|jddg}|jddgd}|jd }t j gd ddg }td gd gdgg|dg}t j||y)N)rrrr)rrr9r)rWrWrWr#)group1group2rr r Trr[))rr)rr9rrrr$rWr#rr/)rrr3rwr rr9r:)r>rrrHrs r$test_groupby_multiindex_missing_pairr Js **!  B x* +B8X"6TBJ .. C  ,Xx4H C aS1#sO3 BC#s#rcLtjgdddg}tgdg|}|jj sJtgdgdgd g }|j d ddgd }|j }|jj rJ|jd j}tjt5|jd j}dddtj|tgdgdgddjddg}|jj rJddddgfD]}dD]}|j||djtj }|}tj|||j#j||djtj }|j#}tj||y#1swY$xYw)N))r)b1c1)b2c2rrrrWrKrrr)rWrrrK)rWrrr)rr~rr9)r+rr)rrrrrWrWr$r$rWr$rKrrQrzrQrrrW)FTF)rr4rT)r rrr _is_lexsorted pivot_tablerr3rjr9rtrr:rr+rydrop_duplicatesr) lexsorted_mi lexsorted_dfnot_lexsorted_dfrrr>rr4s r%test_groupby_multiindex_not_lexsortedr_s))/SzLi[,?L    - - // /!$,>@R+S(33C:c4(335''5577 7##C(--/H # #$6 76!))#.3356(F+ "LI ic xx%%'' 'QA4! 4DZZe$5ZIOO))FH  ! !(F 3 u4EBy001  }}H  ! !(F 3 4466s  HH#c0ttdgd}|jtd}|jd}|jgd}t j |||d}|jtd}|jd}|jgd}t j|||jjt|_ |jtd}|jd }|jgd}t j |||d}|jtd}|jd }|jgd}t j||y) NABCDE)r$rr$rWrWr*ababbct|dkDSrnrsrPs rrRz4test_index_label_overlaps_location..A rrrct|dkDSrnr$rPs rrRz4test_index_label_overlaps_location..r%rct|dkDSrnr$rPs rrRz4test_index_label_overlaps_location..r%rct|dkDSrnr$rPs rrRz4test_index_label_overlaps_location..r%r) rr4r3filterr2r9r:rCrxr+rr)r>ractualrr=s r"test_index_label_overlaps_locationr+s8 4= 8B 4=!A XX* +Fwwy!H&(+ Q%C DM"A XX* +Fxx "H68,xxu%BH 4=!A XX* +Fwwy!H&(+ Q%C DM"A XX* +Fxx "H68,rcLd}tj|}t|dzd|zd|zd}t|dzdzd|zd|zd}|jd}|j d}|jd}|j d}t j ||y) NrZr$r@r%rrrj)r7r8rr3rzr9r:)nrQr>r'r?rgb2rs r"test_transform_doesnt_clobber_intsr0s A ! A acAgC!G< =B !q&3,S1W37C DC CB \\& !F ++c C}}V$H&(+r sort_columnintsfloatsstrings group_column int_groups string_groupsctgdgdgdgdgdd}|j}|j|}fd}d }tjt | 5|j |dddy#1swYyxYw) N)rKrWrrWrrKrKrK)rrrrrrrr)rr]rr#r$rJrWrW)gffffff@g333333@g@g333333g@皙?r9r#)rr9rrwordword24247)r6r7r2r3r4rcRtj||jy)Nr)r9r:r)rQr1s r test_sortz.test_groupby_preserves_sort..test_sorts a+!>?rrrU)rrr3r9rtrury)r1r5r>rr?rs` rtest_groupby_preserves_sortr@s 2E,=H   B ; 'B < A@ DC # #M =  s "A==Bctttjddj t dd}|j djj|d<|j djj|d<tjtd 5|jjddd d dddy#1swYyxYw) NreMEr) eventDatethenamerCrrz 'badname'rUbadnamer)r+rraggfunc)rrrtodaytolistr5rr+rrr{r|rrrrs r!test_pivot_table_values_key_errorrIs #HNN$4btLSSURy  Bk*0055BvJ,,{+1177BwK x{ 3  $$')W %    s /$CC%rr(rrrrrrWz US/Easternr& 2016-01-01rKrrInt64rFloat64boolean) boolintrrr?dt64dt64tzperiodrKrLrM)idsmethod)rrwry)ridxminrrr[rrcd}ttrdvrd}tdtrdvrd}tdt d} t d r)| j jk(jsJ| jdd} | jd |d |fd } fd } t| j jdtj} | j jdjdk(} tt}t| j jdtj}ttrj sdvrdvr dd}t"}n dd}t$}t'j(||5| ddddvr6t|tr&| d}| }t+j,||ydvr| s |s | s|rdk7r| rd}n| rd}n |rdd}nd}dk(rd j/|d!g}t'j(t"|5| dddt|tsydk(ry| d}| j1g}|r| }t+j,||y| }| j1|}d"vr%|j3| j4j}||j3|}t7d#k(rd|j4_t+j,||y#1swYxYw#1swYxYw)$N)r[rrKr)rr[rEr,ABCrrDF)rTrobservedcXdk(rtdi|Stfi|S)NrrO)r5)kwargsr?rTrs r get_resultz&test_empty_groupby..get_result+s: V "72r?,V, ,&72v&r4V4 4rctdgj}tdk7rtj||g}nt |d}rt gd}ng}t g||}|S)NrrrWrrrr)rrDrsr rr r)levrHrrrrrrs r get_categorical_invalid_expectedz.get_categorical_invalid_expected1sq 1#V\\2 t9>))3*DAC$q'*C Be,GGR<rM)rrrUr)rrzCannot perform z with non-ordered Categoricalz Can't get z/ of an empty group due to unobserved categoriesrUTrT)rr[rr[z datetime64 type does not supportzPeriod type does not supportrrzcategory type does not supportr|z!does not support reduction 'skew')rrUrW)rtrrNrr4hasattrrrDrDr2r3r- PeriodDtypekindr StringDtypeorderedr~rr{r|r9 assert_equaljoinrrr+rsri)rrrrrTrusing_array_managerrroverride_dtyper>r[r^is_peris_dt64is_catis_strrrrrr?s ```` ` @rtest_empty_groupbyrnsNN&,'B/,A &)T"r_'<  f6:DK PBvw V\\)..000 !B DU6E J7 SB5 ( q)2>> :FiinnQ$$+G  ,F  q)2>> :F 6;' 4 4  #B4'DECErd"QRCE ]]5 ,  L  3 3 7D8QT2F79H OOFH - $$ f6bEk84@AF6V|hh%HIJy4   gt,v $6<<-b1?AH1 \F||D!'*H !!??288>>2!??>2 4yA~"1gOOFH%s  2  s(M M M  Mcttjjdj d}|dj tj |d<gd|_|j|dd}d}tjt| 5|jd }dddj|jk(jsJy#1swY3xYw) Nr$)rrrKrrWr$rrWFrSrrUc|SrYrOrPs rrRz.sr)rr7rorprrrErr3r9rtruryrrD)r>r?rrs r*test_empty_groupby_apply_nonunique_columnsrrs 299((+;;FC DB qELL "BqEBJ BqEe ,B CC # #M =$hh{#$ JJ")) # ( ( ** *$$s CC'cftgdgdgdgdd}tjtd5|gdj dddd|j ddj }t d gdtd gd  }tj||y#1swY]xYw) N)rWrWrWrW)r$r$r$r$)rrrrz ('a', 'b')rUr%rrrrWrr) rr{r|rr3r[rr r9rxrs rtest_tuple_as_groupingrts $   B x} 50 ?##J/0ZZ #C ( , , .Fqc5!:+FGH68, 00s B''B0c tdtdtjddgddgg}t j t d5|jdjdddy#1swYyxYw) NrWrKr$rr/z ^\(7, 8\)$rU)r]r) rr5r rr{r|rr3rjrs rtest_tuple_correct_keyerrorrvsf 1E!Hj.E.E1vPQSTvFV.W XB x} 5" 6!"""s A55A>c Ntdgdggtdgdtdddd  }tgd gd gtjd gd tdddd  }|j t djddg}tj||y)NrWrmycolsr 2018-01-01r$rdti)r"rrir)rWrWrWrWrW))rr[r)rohlcopen)rr{r)rr{r)rr{close)rxNNr)rr[r{) rr rr rr3r rwr9r:r5s rtest_groupby_agg_ohlc_non_firstr~s  qc ugH-qsG B  /*&& )  qsG HZZS) * . .v ?F&(+rc\tjdftddddftddddftddddfg}tj|ddg}t gd | }|j d j}t d d gddg }tj||y)NrirWr$rrKdater)rKr$@rr*rr-r) r-r1rr rrr3rjr9rx)rrr=rrs rtest_groupby_multiindex_natrs  $1 s# $1 s# $1 s# F   vtn =B r *C [[q[ ! & & (FsCjc 3H68,rcttdtd}t|ddg}d}tjt |5|j ggdddy#1swYyxYw)Nrdapplerrz$Grouper and axis must be same lengthrU)rr5rr{r|rr3)rr>rs rtest_groupby_empty_list_raisesrs\ rE"I &F 6GS> 2B 0C z - B4s A''A0c:ddgddgddgg}gd}tj||}tddg| }|jd d gj }dgdgg}d d g}tj||}td g| }t j ||y)NrQrrr)rrthirdrrWr$r*rrrKr*)r from_arraysrr3r[r9rx) index_array index_namesrir&reirs r8test_groupby_multiindex_series_keys_len_equal_group_axisrs:SzC:6K.K    ; ?BQF"%A YY) * . . 0F53%.KG$K    ; ?Bqc$H68,rctjddgddggddg}tgdgd d | }|jt d dg}|jddg}|j |j k(sJ|jdt d g}|jddg}|j |j k(sJy) Nrrr(rrbetar)rWr$rWr$rrWr*r)r rrr3r r@)rr>rrs r"test_groupby_groups_in_BaseGrouperrs  3*sCj!9'6AR SB < =R HB ZZw/8 9Fzz7F+,H ==HOO ++ + ZZw!78 9Fzz67+,H ==HOO ++ +r group_namerQcttjdjddgdgd}d|j_d|j _d }tjt| 5|j|d }dddj}|jj|jj}tj||gd ddgg}tj|ddg}ttjdjddgd|}tjt| 5|j|d }ddd|j}|jj|jj}tj||y#1swYHxYw#1swYpxYw)Nr^rKrrrWr)rdrerdrer/rrQrLrUrWr)rrrrbrcx1) iterablesrrZ)rr7r8rr+rirr9rtrur3r[rr:r r)rr>r(r?resultsrrrs rtest_groupby_axis_1r sy  " a#9>N BBHHMBJJO.` sqvvyy/D/DR/Hr)rr}cN|jjjSrYrrs rrRz+test_shift_bfill_ffill_tz..d s9N9Nr9Rr)rrassignr3r5r9r:)tz_naive_fixturerrr~r>rrr's @rtest_shift_bfill_ffill_tzr& s\ B, + , + ,   + , + ,   D 4  %H  IBjjG !WWb ! #F"))/R)SH&(+rctdgdd}|jddjd}ttj gd}t j||y)NrW)rrQrrQr[r)rr3rzrr7rr9rx)r>r*rs rtest_groupby_only_none_grouprh sT $a( )B ZZ_S ! + +E 2FrvvhS)H68,rctgdgd}|jd}|j}tgdgd}tj||y)N)r$r#rZr)rrrr8r*rr)r$g@r)rrr8)rr3rjr9rx)r=r?rrs rtest_groupby_duplicate_indexrr sF %9 :C 1 B WWYFk9H68,rctdtdddgggd}|djt|d<|djt|d<|j d d g}|d k(rd }nd }|d k(rt nd}d}t j||5|jddjd gj|g|}dddt j||5|jd gj|g|jdd}ddd|dvrjt}t jd}t j||5|djddjd gj|g|}dddd}t j||5|djd gj|g|jdd}ddd|dvr|jt}t j||y#1swYcxYw#1swY xYw#1swYxYw#1swY_xYw)NrWrGrKr)col_1col_2col_3col_4r~rrrrrfillna)rrO%DataFrameGroupBy.fillna is deprecatedrUr)diffrz"SeriesGroupBy.fillna is deprecated) rrrrOrrur9rtr2r3rzrf)transformation_funcrequestr>argsrwarn_msgrrs rtest_group_on_empty_multiindexr| sg )G$a+ ,4 BW+$$S)BwKW+$$S)BwK w( )Bh&/8;=D6H # #D 9V9!$$gY/99:MUPTUV # #D 9X22::wi(223FNNSSTVUVWX//??3'OOFH%3H # #D 9  BwK T"1  WgY  Y* 3.2 3  4H # #D 9  BwK WgY  Y* 3-1 3T"1   //??3'OOFH%5VVXX    s01H)'1H6(4I=4I)H36II Ictddd}tddgddgddgd}d |j_||_|j |}|s|j }d }nd }tjt| 5|j|d }dddj}tddgddgd|}d|j_ |s |j }tj|||dk(r@tjt| 5|gj|d }ddd|g} nptjt| 5|jgj|d }ddd|jgjt j"} j} tj| | y#1swY?xYw#1swYxYw#1swYuxYw)NrJr$r)r"rirWrKr)r[)rr()rr)rrrNrLrU)rr)rrr*r)rrrrr+_get_axis_numberrr9rtrur3nuniquerir:rrr7rG) rrzr> axis_numberrr?rrr/rrs rtest_groupby_crash_on_nuniquer s \15 9C AQFAO PB%BJJBH%%d+K  TTE; # #M =3 ZZ[Z 23 ZZ\F1vQF33?H!H ::&(+a  ' ' S A <R&..k.;C <rl ' ' S A @&&*$$+Q$?C @ll2%%bjj1 ++-C#s#133 < <  @ @s$;G G!G% GG"%G.cttjddjddt}|j dgj }tj||y)NrrJrKrr) rr7r8rrr3rjr9r:)rrs rtest_groupby_list_levelr sS1a00A6eDH   QC  ( - - /F&(+rzmax_seq_items, expected))r#z({0: [0], 1: [1], 2: [2], 3: [3], 4: [4]})rz%{0: [0], 1: [1], 2: [2], 3: [3], ...})rWz {0: [0], ...}cttjjdj d}|j |d<t jd|5|jdjj}||k(sJ|jtj|jjj}||k(sJ dddy#1swYyxYw)Nr$)r#rWrzdisplay.max_seq_items) rr7rorprr+r-option_contextr3r@__repr__rr) max_seq_itemsrr>rs rtest_groups_repr_truncatesr s 299((+;;FC DBhhBsG  2M B"C''002!!!BHHRTTN+22;;=!!! """s A>C%%C.c>tddddddddg}|jddg}|jddg}|j}dt j d dgtj i}t|dk(sJd}||||k(jsJy) NrWr$cr%Xrrrrr) rrr3rAr7rrErsrD)r>rrrrs r6test_group_on_two_row_multiindex_returns_one_tuple_keyr s !!"-QQR/HI JB sCj !B **c3Z C [[F!Qrxx89H v;!   C 3K8C= ( - - // /rzklass, attr, valuerr4rTrXrctdgdgdgd}|dk7r|jd}|jdi||i}|tur|dgn|d}t||t||k(sJy) NrWr$rKr%rrr)r)rrr3r5)rrrr>rrs r#test_subsetting_columns_keeps_attrsr s{& !A3aS1 2B v~ \\# rzz/$/H % 2Xse_ F 64 GHd$; ;; ;rcDtdgdgdgd}d}tjt|5|j gdd}dddd }t j t|5d d gjdddy#1swYExYw#1swYyxYw) NrWr$rKr,rLrUrrz'Cannot subset columns when using axis=1rr) rr9rtrur3r{r|rr[)r>rrrVs rtest_subsetting_columns_axis_1r s !A3aS1 2B 7C # #M =* JJyqJ )* 5E z / 3* **sB +B BBr)r[anyrctdgd}tdgg|}|jdg}t||j}t j ||y)NrrHrrWr)r rr3r5rr9r)rrr>rrs r#test_groupby_column_index_name_lostr# sXcU'H QC5( +BQCJ &WZ & ( 0 0F&(+r infer_stringpyarrow)marksc|rtjdtgdgdgddjt}gd|_t jd|5|jgdj}dddtgd gtjd ggdt }tj|y#1swYLxYw) Nr)rrrr:rrr,)rrrzfuture.infer_string)rrrr)rrrWr)r+rrD)r{ importorskiprrrrr-rr3rr7rr9r:)rr>rrs rtest_groupby_duplicate_columnsr- sI& ")=LQ  fVn!BJ  0, ?0L)--/0 rxx}oVH&(+ 00s "C  Cctgdgdd}d|j_|jdj }tdd gd dgd}d|j_t j ||y) Nrr)rrr+ri)rrrrr$rrW)rr+rir3lastr9rx)r=rrs r#test_groupby_series_with_tuple_namerD sf \ CCCIIN [[q[ ! & & (Fq!fQFrrs r)test_groupby_numerical_stability_sum_meanrN sh ?B /WRZZ($ / 1FvF35!Qg;VWH&(+rcgd}tddgdz||d}|jdj}dgdzdd gzd d gzd d gz}t||d}tj||dy)NrrWr$rrrrg07yACg17yACga7y1Cgb7y1CrrrT) check_exact)rr3rr9r:)r~r>rexp_datars r'test_groupby_numerical_stability_cumsumrZ s ;D aVaZd> ?B ZZ ' ' )F  i++y).DDd|S xh78H&(=rc~tjjdjd}t |}t dD]!}tj |j||f<#d|d<|jd}|jd}|gdjd}tj||y) Nr$)r#r#r#rWrFskipnarK) r7rorprrr5rr2r3rr9r:)rur>ir?rrs r test_groupby_cumsum_skipna_falserf s ))   " 2 26 :C 3B 1X1 BsG CB ))5) !C/")))7H#x(rc *tdd}t||dz }tj|d<t d|d}|j d}|j d d }t d |d|dtj|d |d dzgi}tj|||j d d }t d |d|dtjtjtjgi}tj||y)NrJr#r!rr$rWr[rFT)rUrrr) rrr-r1rr3rr9r:)rzr=r>r?rrs rtest_groupby_cumsum_timedelta64rv s \1 -C +A C VVCF % &B CB ))t) 4C S3q63q62663q63q6A:FG HC#s# ))u) 5C S3q63q6266266266BC DC#s#rc|}|jdj}|j|jj}tj||y)Nrr)r3rjr+r9rx)(rand_series_with_duplicate_datetimeindexdupsrrs r!test_groupby_mean_duplicate_indexr sK 3D \\\ " ' ' )F||DJJ',,.H68,rcbtgdtjtjtjg}|j|jj }tgt gtjtj}tj||y)NrrrL) rr7rr3r+r[r rGrEr9rxr&rrs r test_groupby_all_nan_groups_dropr siy26626626623A YYqww  # # %Fbb ;288LH68,rc4tggd}|jddg|}|j|}|r'tggggggddg}|sdgn t gd }nt d }|sgdnddg}tg|| }t j||y) Nr,rrrrrTrr(rrrr)rr3r[r r r r9r:)rrUr>r?rr+rrs rtest_groupby_empty_multi_columnr s O 4B S#J 2B VVV .FB8b"Xc3Z@+3%r1G1 )5/C:WE:H&(+rctddggddggddggddgggddg}tdddgddggitddgd  }|jdg }|j}t j ||y) Nr_rWWrdreMWrrrr*r)rr r3r[r9r:)r>rr?rs r*test_groupby_aggregation_non_numeric_dtyper s  scA3Z#tsRDk:T3K B 1a&2r(# S#JT* H v B VVXF&(+rc tgdtddDcgc]}t|dc}tddDcgc]}t|dzdc}d}ttddDcgc]}t|dc}tddDcgc]}t|dzdc}d td dgd d }|j d g}|j }t j||ycc}wcc}wcc}wcc}w)NrWrrWrWrrWrZdaysrdrr]rJrrrrErQrDrir*r)rr5rr r3r[r9r:rr>rr?rs r0test_groupby_aggregation_multi_non_numeric_dtyper s  05a <1)Av&<5:1a[A)AFF+A  B05a <1)Av&<5:1a[A)AFF+A QF'4 H u B VVXF&(+=A =AsC8 C= ,DD c xtgdtddDcgc]}t|dc}ttddd}ttddtddgddgdt d dgd d  }|j d g}|j }tj||ycc}w)NrrWrZrrr]rrrrErQrr*r) rr5rr4r r3r[r9r:rs r7test_groupby_aggregation_numeric_with_non_numeric_dtyper s  05a <1)Av&<eAqk"  BF#Yq&%9:!QHQF'4H u B VVXF&(+=sB7 cdddddddddddddddg}t|}||ddk(}|jd}|j}tgd ggd tdgd  }t j ||y) NFTg%@) filter_col groupby_colbool_col float_colg4@g>@r r )rrg$+ H@)r r r rr)rr3r6r r9r:)dictsr> df_filterdfgbrrs rtest_groupby_filtered_df_stdr sTtRVWDdQUVDdQUV E 5 B2l#t+,I   ] +D XXZF 7TF/H &(+rc tttdttgddt j gdddgd }|j d d gd j}d tdftjdgd tdftjdgdtdftjdgi}||k(sJy)Nabc)ryz 2018-02-01z 2018-03-01categoryr)r)rrWrrW) categoriesr%rrFrXz2018-01-01 00:00:00z2018-02-01 00:00:00rz2018-03-01 00:00:00r$) rrr4rr from_codesr3rArr7rrs r2test_datetime_categorical_multikey_groupby_indicesr s U $FG '' 1vF   BZZc UZ 3 ; ;F i-./1# i-./1# i-./1#H X  rcdgdzdgdzz}tjtjdddgtjddddgz}t||gj}dd g|_d }t j t| 5|jdd jdd jdddy#1swYyxYw) NAlicer#BobrWr$rKrrirz@^[a-zA-Z._]*\(\) got an unexpected keyword argument 'min_period'rU)window min_period) r7rrrrr{r|r~r3rollingr[)name_lval_ltest_dfresult_error_msgs r#test_rolling_wrong_param_min_periodr" sY]eWq[ (F VVRVVQ1 %Aq!(< aggregate_detailsrexpected_results r.test_by_column_values_with_same_starting_valuer0 s 7'4 ZZ ! % %&7 8Fu%w/Sk}-  i &/2rcgdgdg}tdtj|ddg}|jddg j }tdd gtj d d gddg}t j||y) N)NrWrrW)r$rKr$rKrWrrrr*rrr$)rr$)rrK)rr rr3r[rr9rx)rur=rrs r#test_groupby_none_in_first_mi_levelr22 s L )C *00S#JG HC [[1v[ & * * ,F A &&(';C:NH68,rctgdgdgdd}|rtjgndg}|j|}|j }tddgdd gd t d dg|d  }t j||y)Nr)rWrWr$rK)rr#rZr])Nrrrr$r#rJ r rWrrr*)rr7rr3r[r r9r:)rr>rr?rrs rtest_groupby_none_column_namer5= sx ,\ M NB'"&&dVB r B VVXF1vQG4E1a&rRSurrrFrrs r!test_single_element_list_groupingr9G s !Qrvvqk DSRUJ WB#,#4bjj#"**cU:KI:VG ' (fc1c (F (d|H X  )s$ A?ctgdgdd}|djd|d<tgdgdd}|djd|d<|jdd }|j}t j ||y) N)rrrr)rWr$rKr$)str_colnum_colr;stringr%)r.rr-Fr)rrr3rjr9r:)r>rrrs rtest_groupby_string_dtyper>R s 3 M NByM((2ByM '   H#9-44X>HYjjUj3G \\^F&(+rzlevel_arg, multiindex)rF)r?Tctddgddgddgddd g }|r|jd d g}d }tjt|5|j |Dcgc]\}}| c}}dddycc}}w#1swYyxYw)NrWr$rKrr#rZr%rQrr*rrzCreating a Groupby object with a length-1 list-like level parameter will yield indexes as tuples in a future version. To keep indexes as scalars, create Groupby objects with a scalar level parameter instead.rUr)rrr9rtrur3) level_argrr>r(rrFs r7test_single_element_listlike_level_grouping_deprecationrBf s !Qq!fAq6:3* MB \\3* % , # #M B8::I:67a788788s B" A;.B;BB )r[rcumprodrcd}td|gd}t|jd||z }tddgitdgd}|d vr|j d }t j ||y) NlL33ffrWrrrrrr*)rrCTr)rr5r3r rr9r:)rrr>rrs r#test_groupby_avoid_casting_to_floatrEx s C #' (B +WRZZ_d + - 3F#s5!3+?@H $$''T'2&(+rz func, val)r[rK)rr$ctdddtjgd|}t|j d|}td|git dgd||}t j||y) NrWr$rrrrrrL)rr-NAr5r3r r9r:)any_numeric_ea_dtyperrr>rrs rtest_groupby_sum_support_maskrI sp !Q/7K LB +WRZZ_d + -F se QCc)=>"H &(+rz val, dtype)orO)uintc 6td||gd|d}|jdj}td|dzgitdgd|d|d  }t j |||jdj }td||dzgi|d }t j |||jdj}td||zgitdgd|d|d  }t j ||y) NrWr8rrrr$r64rL)rr3r[r r9r:rr)rrDr>rrs rtest_groupby_overflowrP s #s,ugQK @B ZZ_ "F sQwiQCcE7!5rlH &(+ ZZ_ # # %F#S1W~.rlCH&(+ ZZ_ ! ! #F sSykQCcE7!5rlH &(+rz skipna, val)TrKctddtjdgd|}|jdj |}tddtj|gi|}t j ||y)NrWr$rrrrr)rr-rGr3rr9r:)rHrrr>rrs rtest_groupby_cumsum_maskrR sl !RUUA/7K LB ZZ_ # #6 # 2F q"%%o"H&(+rzval_in, index, val_out)rrr-rr8)rrrrblah)r-rr8r-)rrr-rr8g@)rrrrrSrS)r-rg&@r-c|t|dt|d}|jdj}t|dtgdd}t j |||j jdj}|j }t j||y)NrrSr)r~rir+)rrrSr)rr r3r[r9rxr/r:)val_inr+val_outseriesrrs r(test_groupby_index_name_in_index_contentrX s"heE6O PF ^^F # ' ' )F  1?H 68, __  & &v . 2 2 4F  "H&(+rr.)rWrd rrctddg|zd}|djd|d<|jdj}td|git dgd}t j ||y)NrWT)r rNrNr rr*)reqr3r[r r9r:)r.r>rrs rtest_sum_of_booleansr\ sq 1tfqj9 :BFt$BvJ ZZ & * * ,F&1#eQCm.LMH&(+rztailrrrctdtjdtjdgtdd}|dk(r#t |j d|d }n t |j d|}|d vr,td gd ij tgd d}ntgd gd dgd }tj||y)Nrrrr#r[rrr)r.)rrrrr%rr*) rr7rr5r5r3rrr9r:)rTr>rrs rtest_groupby_method_drop_nar_ s #rvvsBFFC8uQxH IB 1C&1A61C&13 ""c9-.88 ? - ?C9U&(+rctjddd}ttddz}|j }|j |}t jtd5|jdddt jtd5|jdddt jtd 5|jdddt jtd 5|jddd|j}|d d}ttdt |_t#j$|||j'}|dd}ttdt |_t#j$||y#1swY;xYw#1swYxYw#1swYxYw#1swYxYw) NrJrrrrdz+Period type does not support sum operationsrUz.Period type does not support cumsum operationsz,Period type does not support prod operationsz/Period type does not support cumprod operationsir)r- period_ranger4r5 to_seriesr3r{r|r~r[rrrCrr rOr+r9rxr)pigrpsr=r?rrs rtest_groupby_reduce_periodre sq s =B b ?R D ,,.C T B y(U V  I   y(V W   J   &&(C34yH59C0HN3) &&(C3BxH59C0HN3)+s0,F6 GGG6GG GG%ctgdg}gd|_|j|d}|j}|j gdd}t j ||y)N)rrWr$rKrprW)rr$rKr)rrr3_obj_with_exclusionsrCr9r:)r>r?rrs r*test_obj_with_exclusions_duplicate_columnsrh sT L> "BBJ BqE B  $ $Fwwyqw)H&(+rc\ddddddg}t|t}|jddd }|r9|jd }tddgdg }t j ||yt jtd 5|j| dddy#1swYyxYw)NrrrcardarrrF)rr4TrTrz(could not convert string to float: 'bar'rU) rrr3r6r9r:r{r|r)rUdicts_non_numericr>rr expected_dfs r'test_groupby_numeric_only_std_no_resultrn s %51U3KL $F 3B ::cE: 6Dt,>  fk2 ]] H  0 HH,H / 0 0 0s B""B+z7ignore:invalid value encountered in cast:RuntimeWarningctgdgdd}tj|dtjddd}|j |d gd dj d }ttd ddtdddtdddtdddgd}gd}tj||gdd g}ttjdtjdtjdtjdtjtjdtjtjg |d}tj||y)N)皙?皙?333333?皙ٿ?)rrrrr)rQwrQrrWr#rruFrrjgDlٿrpr)closedrqrrrtT)rer%rrsr)rr-qcutr7linspacer3rwrr r rrrrr9rx)r>qqrcategorical_index_level_1 index_level_2rrs r/test_grouping_with_categorical_interval_columnsr|0 s= 3:ST UB CBKK1a0 1B ZZS EZ 23 7 ; ;F CF + VS 1 S#g . S#g . S#g .  !$M  "M23* B    %H(68,rbug_varc@td|||tjgi}t|tr|j t }|jd}|jd}t|||dgdg|dj}tj||y)Nrc|SrYrOrPs rrRz;test_groupby_sum_on_nan_should_return_nan..` srrW) min_count)rrD) rr7rrtrrrr3r[rDr9r:)r}r>rrrms r)test_groupby_sum_on_nan_should_return_nanrZ s C'7GRVV<= >B'3 YYv  ::k "D XXX "F '7D)C53 K&+.r)rcorrcummaxcumminrCr3rankrrrrDrrUrrr pct_changec tdt|}||_|jdgdg}|dgj|d}t ||}t ||}t j ||y)N2014r!rr()rrsr+r3r5r9r:)r>rTrngrg_exprrs r#test_groupby_selection_with_methodsri s0 VSW -CBH C53% A uI  bg &E '!V  C '% "C#s#rc\tdt|}d|j_||_|j dgdg}|dgj |d}d}t jt|5t j|jd|jddddd }t jt|5t j|j|jdddt j|jd |jd t j|jd j|jd jt j|jd j|jd jt j|j!d |j!dy#1swYgxYw#1swY$xYw)Nrr!rrr(rrUrz%DataFrameGroupBy.dtypes is deprecatedc"|jSrYrZrPs rrRz6test_groupby_selection_other_methods.. s AEEGrc"|jSrYrZrPs rrRz6test_groupby_selection_other_methods.. s AEEGrrct|dk(SrNr$rPs rrRz6test_groupby_selection_other_methods.. s3q6Q;rct|dk(SrNr$rPs rrRz6test_groupby_selection_other_methods.. sA! r)rrsrrir+r3r9rtrur:rrryresamplerjr{r))r>rrrrrs r$test_groupby_selection_other_methodsr s VSW -CBJJOBH C53% A uI  bg &E7H # #M B< ahhqk5<<?;< 1C # #M =6 ahh 56!''"34ekkBS6TU!**S/..0%..2E2J2J2LM!**S/..0%..2E2J2J2LM &'6K)L<<66s:5H+H!H!H+cFtgdj|}tgdgd|d}tddd|}t|gdgdd }|j t d d }|j j}tj||y) N)z2016-08-31 22:08:12.000z2016-08-31 22:09:12.200z2016-08-31 22:20:12.400)rrr-)quantquant2time2z2016-08-31 22:08:00r41min)r"runit) rWrWrrrrrrrrrrrW)rrrr)rr) ras_unitrrr3r rrr9r:)ridx2 test_datarexpected_outputr?rs rtest_groupby_with_Time_Grouperr s    gdm  !_tLI ,bvD QE<= O   7wV< =B XXZ # # %F&/2rctgdtddd}|j|j}tddgd }d|j_t j||y) Nrz 2022-01-01rKr!janrr$rWr)rrr3rr+rir9rxrs r1test_groupby_series_with_datetimeindex_month_namer sYy < C%PA YYq\   !Fq!f5)HHNN68,r test_serieszkwarg, value, name, warn)rrrWNrr8)rrrWNctdgditgdd}|r|d}|jd i||i}d}tj||5|j |}ddd|rt d d gtd d gdd } ntdd d gitd d gd} tj| y#1swY^xYw)Nrrrrrr*z&you will need to pass a length-1 tuplerUrKrrWrrO)rr r3r9rtrrrf) rkwargrrirrr?rrrs r$test_depr_get_group_len_1_list_likesr s S)$E)#,F GC#h  &u~ &B 2C # #D 4$d#$1a&q!f3(?cJcAq6]%AS2IJOOFH% $$s CC ctttjgdgd}|j ddgddj }t dg}tj||y)NrWrrrF)rrXr) rrr7rr3rrr9rxrs rtest_groupby_ngroup_with_nanr sZ bffX.aS9 :B ZZc 55Z A H H JFqc{H68,rc6tgdgdgdgdgdd}tjtd5|j d gd  }dddj d }tgdgdd }tj ||y#1swYCxYw) N)rrKr$rK)rrWrZr])rKrr$rd)rWr4rZr)r#rZi)rgrhcol3col4col5 deprecatedrUrW)rWr$rKr$rW)rr)rgr)rr9rtrur3rr:rs rtest_get_group_axis_1r s   !""   B # #M F9**!*89   q !F " H &(+99s BBc tdddddtjtjgigd}|jd j }tdgd igd}t j ||d y) NrrWr$rKrrr*rr)rWr$rKrr$rKFr )rr7rr3rr9r:rs r(test_groupby_ffill_with_duplicated_indexr sg C!Q1bffbff56>P QB ZZaZ & & (F#12:LMH&(>rc ttjtrJt t dt dddgt dt dt dt dgd}|j dd }|r|d }|jj}tt ddgd }tj||y) NrWr$rKrr#)rrrF)rrr) rtdecimalInvalidOperationr~rrr3r result_indexr r9r)rr>r?rrs rtest_decimal_na_sortr s '22I>> > AJ D$7aj'!*gaj'!*E  B E% (B [ [[ % %Fgaj$'e4H&(+r)rrrr|numpyr7r{ pandas.errorsrrpandas.util._test_decoratorsutil_test_decoratorstdpandasr-rrr r r r r rrrrrpandas._testing_testingr9pandas.core.arraysrpandas.core.commoncorecommonrmarkfilterwarnings pytestmarkrrC parametrizerrrrrrrrrrr+r7rJrRrXrirkrvrrrrrrrrrrrrrrrrrrrr r rrr"r'r+r0r6r=rGrIrYr]rarcrlrnrprwr~rrrrrrrrrrrrrrrrrrrrrr rr+r0r@rIrarrnrrrtrvr~rrrrrrrrrrrrrrrrparam skip_if_norrrrrrrrrrrrrrr"r0r2r5r9r>rBrErIrPrGrRrXr\r_rerhrnr|rrrrrrurrrrrrOrrrs   *)    + [[ ' '(S T ,6"JK>+L>+BD-.E&P2IjdE]3)4), $, F,,6:'z 0%&P#.868+-+`6r 13EFG-H-@ - 0*@+F,D.2&,., D60 +<8 EN, ,:$708  0@ '0(+0(..@-,$,. '*;Z,,( ,-"(., , /.< -B* , <&~ 8#$*0Z&-0, -S3*$5678#$/@*56$*.4b-: , Xy68"4vy6IJ\?\?4ST 6 $S3%L13%#s!45    QC Q1a|, ac:!G$!I&% *  :#;< C{&=;62F{&| +-&",8 -  - ,cU|4-5-6 3434    343434343434    343434343434   7(+X,Y+X,,--*&Z&$R, " " 0 GS! J& FE" L%( J% He$ # U#  u% T" 5! "<#"<!89,:,  Ty!9: , , -edD\*VeT],CD,, > ) $$--$7 ,8 ,,$,.,(,(* M3.-,tS3%&89:,(sElMQC; U 8 8!EF,G,z;&?@ ,A , m'DE,F,0UBEEN(CD,E, & 0  + 8 !  , , 45,6,B#KL,M,$*>,$7080"UV&-W&-RQH- /. / , $-, $ 438-u 6 ua' udD! 1#q-( 1#tT"   & 7 & -,.?u 6,7,r