gL id`ddlZddlZddlmZddlZddlZddlm Z ddl m Z ddl m Z ddlZddlmZmZmZmZmZmZddlmZddlmZddlmZej<j?d d d gej<j?d gd gdgdgdgdgdgdgdgdgdgdgdej@ej@ej@gg dZ!dZ"ej<j?dd d gdZ#ej<j?dd d gej<j?dgdgdejHejHejHgdejHdgdejHdgdejHdggd Z%ej<j?d!d"d#ejLdge'$ejLejHgd%$fd&d"ejLejHgd%$ejLdge'$fd&d&ejLejHgd%$ejLejHgd%$fd#d%ejLejHgd%$ejLejHgd%$fgd'Z(ej<j?dd d gej<j?d(gd)d*Z)ej<j?d+d ejHej@gdfd ejHd,ej@gdfd ejHejTgdfd ejHdejTgdfgd-Z+ej<j?dd d gd.Z,ej<j?dd d gd/Z-ej<j?d0d1d2gd3Z.ej<j?d0d1d2gd4Z/ej<j?d5d1dd6gd,d7gd,d6gd8fd2d,d7gdd6gdd7gd8fgej<j?d9ddgd:Z0ej<j?ded;ed<fd=gej<j?d>gd?d@Z1ej<j?d0dAdBgdCZ2dDZ3dEZ4dFZ5dGZ6dHZ7dIZ8dJZ9dKZ:dLZ;dMZdSZ?ej<j?dNdOdPgdNe@fdTZAej<j?d(gdUdVZBdWZCej<j?dNgdXdYZDej<j?dNdOdPgdZZEej<j?d[dd,gej<j?d\ddgd]ZFej<j?d[dd,gd^ZGd_ZHej<jej<j?d`ddgej<j?daddgej<j?dbddgej<j?dcddgej<j?dddegdedfggdgZJdhZKdiZLdjZMdkZNej<j?dlgdmednejTedngded,gejdogdpqdrfgdmejdsd,d,ejTejdsd,d,gded,gejdogdpqdrfgdtejdsd,d,ejTejdsd,d,ejTejdsd,d,gded6d6gejdodugdpqdrfgdvejdsd,d,ejTejdsd,d,ejTejdsd,d,gded6d,gejdodugdpqdrfgdwZQdxZRdyZSdzZTd{ZUej<j?d[dd|gd}ZVd~ZWdZXej<j?d(gdej<j?ddAdd,d,dd6d7dgifdBdd,d6dd6ddgifdOdd,d,dd6d7dgifdPdd,d6dd6ddgifdd,d6dd6d6dgddfgdZYdZZej<j?ddejfdejfdejfdejfdejfdejfdOejfdPejfdAdfdBdfdejfejdeZejdg dZfej<j?dgdd,ejHd6d,ejHd6d,ejHd6g dgdgddgej<j?dgddZgej<j?dgdej<j?ddd,gej<j?dddgej<j?d`ddgdZhdZiy)N)ascii_lowercase)iNaT) pandas_dtype)na_value_for_dtype) DataFrame MultiIndexSeries Timestamp date_rangeisna)get_groupby_method_args)_test_decoratorsagg_funcanyallvals)foobarbaz)rr)rrr)rrrrrr)?@@)rr)rrr)TTT)TFF)FFFcftdgdzdgdzz|dzd}tt||}|rtt |r|dk(rd}t|gdzdgt j ddgd  }t|jd || }tj||y) Narbr)keyvalrFr$r#namecolumnsindexskipna) rgetattrbuiltinsrr pdIndexgroupbytmassert_frame_equal)r+rrdfexpexpectedresults j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_reductions.pytest_groupby_bool_aggsr8s( C519uqy0B CB &'(H %d +C#d4j/h%&7  E7"((C:E*JH2WRZZ& 1 @F&(+c,tgddtjdgdtjdgggd}tddgd dggd d gddg }d |j_|j d j }tj||y)N)rrrrrrrABCr(TFr=r>r'r<) rnpnanr)r&r0rr1r2r3r5r6s r7test_anyrC?s  BFFE*Q,>? B t}%Sz!QHHNN ZZ_ "F&(+r9 bool_agg_funcctddggddg}|jdg}t||}|jt j dg}t j||y)NTr!r?r)rr0r,set_axisr@arrayr1r2)rDr3grp_byr6r5s r7 test_bool_aggs_dup_column_labelsrILsb T4L>C: 6B ZZ_F +WV] + -F{{288QC=)H&(+r9dataFTct|d}t|||}t|tjdgd}|j gdj ||}t j||y)Nbooleandtyper*rr)rNr)r r,r@rGr0aggr1assert_series_equal)rDr+rJser expected_datar5r6s r7test_masked_kleene_logicrTWsk Y 'C0GC/v>Mm288QC= JH [[ # ' ' f ' EF68,r9zdtype1,dtype2,exp_col1,exp_col2floatFloat64rMrLInt64cTdtjg}ttj||tj||d}|j ddgj dd}t||dtjdg}tj||y) NrrM)col1col2rrFr*r)) r@rArr.rGr0rPr1r2)dtype1dtype2exp_col1exp_col2rJr3r6r5s r7test_masked_mixed_typesr`ps> =D $f-rxxF7ST BZZA  # #E% # 8F(H=RXXqc]SH&(+r9rN)rWrVrLc|tjdg|}d}|s|dk(rtj}||gtjdgd}|j ddgj ||}t j||y)NrrMTrrLrOr*)r.NAr@rGr0rPr1 assert_equal)rDrNr+frame_or_seriesobj expected_resr5r6s r7test_masked_bool_aggs_skipnargsz 255!*E 2CL mu,uu  ~RXXqc])TH [[!Q $ $]6 $ BFOOFH%r9zbool_agg_func,data,expected_resrc||t}|jdgt|zj|}||gt j dgd}t j||y)NrMrboolrO)objectr0lenrPr@rGr1rc)rDrJrfrdrer6r5s r7test_object_type_missing_valsrls[ $f -C [[!s4y ) - -m RSH&(+r9c\tj|j}tj|j}t t tj tddddt tj|tj||tj|tjtjtjg |d}|jd}|rdnt}d |d }tj|| 5t||| } ddd|rdd ddtjg} ntj} t d| itjtdddd} tj  | y#1swYwxYw)Nrr)repeatsintprMr}r!z!The behavior of DataFrameGroupBy.z with all-NA valuesrnr*rr"r~r[)r@rrrrr repeatrangerAr0 FutureWarningr1assert_produces_warningr,r.r/r2) r+rxfloat_numpy_dtyperrr3rwarnmsgr6valuesr5s r7"test_idxmin_idxmax_extremes_skipnarsW*+//I*+//I  %1+q9HFFFFFFFFFFFF (  B( CB4}D -cU2E FC # #D 41!S!01 Q1bff% f RXXeAqk6JH&(+11s F""F+z func, valuesrr)c_intc_floatc_date numeric_onlyctgdgdgdgdd}tj|d|d<|djj d|d<|d|dj d z |d <|djj d |d <|d jd|d<|djd|d<t|jd||}t|tjddgd}|r|jdg}n|d|d<|d|d <|d|d <|d |d<|d|d<tj||y)Nr<r<r=r=rrrr)gGz@g= ףp=@gRQ@g?)2019201820162017)r&rrrrz US/Pacific c_date_tzr c_timedeltaWc_periodrrW c_IntegerrrV c_Floatingr&rr<r=r%r[r?)rr. to_datetimedt tz_localizeiloc to_periodastyper,r0r/dropr1r2)funcrrr3r6r5s r7$test_idxmin_idxmax_returns_int_typesrsi (!/6   B>>"X,/BxLloo11,?B{O8 r(|'8'8';;B}\__..s3BzNk((1B{O)}++I6B| .WRZZ' .L IFrxxc 'HIH==(=4 ( 2"*8"4'1$W-H[%i0H\&(+r9z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l m;-Ll m;-Lmethod)countrrfirstlastcDtddg|d}|jd}t||}|dk(rd}n*|dk(r|d}n|dk(r|d}nt|d |}td |gitjdgd  }t j ||y) Nrr}r!rrrrrr"r%r[)rr0r,r.r/r1r2)rrJr3groupedr6expected_valuer5s r72test_groupby_non_arithmetic_agg_int_like_precisionr0s !Qd+ ,BjjoG %WWf % 'F  7 a 6 a1C&13#/0!38OPH&(+r9rrc tt|}tgd|d|dtjtjg|d|dtjtjgd|}|j d|}t ||}||}gd gd gd gd d ||f} |j| jd} |r| j} tj|| y)N)rrrrrrr@r!r"crMr!)sortr*)rrr)rrr)rr)rrr))rT)rF)rT)rF) rrrr@rAr0r,r set_index sort_indexr1r2) any_real_nullable_dtyperr+rxna_valuer3rrr6ilocsr5s r7test_first_last_skipnarNs",/F"GHH #C3?C3? &  B Cd #B R F 6 "F##!"    6k  E wwu~'',H &&(&(+r9c,ttjjdj dgd}gd|d<|j d}d}t jt|5|jd }ddd|jddd dfjd }jjd }t j|||jdtd d |d<|j d}d}t!j"t$|5t jt|5|jd ddddddy#1swYxYw#1swYxYw#1swYyxYw)Nr) r)r<r=r>Dr?) rrrrrrrrrrr<z1DataFrameGroupBy.idxmax with axis=1 is deprecatedrnraxisz 2016-01-01rperiodsEz>'>' not supported between instances of 'Timestamp' and 'float')rr@random default_rngstandard_normalr0r1rrrzrr)get_level_valuesrQ droplevelr rprqrr)r3rwarn_msgresaltindexergb2rs r7test_idxmin_idxmax_axis1rjsO  a 009CW B-BsG CBBH # #M B iiQi  ''!QR%.  Q  'Cii((+G3w<s);<r2BsG **S/C JC y ,  ' ' X F  JJAJ      s01E22F E>!F 2E;>F F  Fc|tgdgdd}|jddjddk(sJy)N)r<r<r<r<r<)ijiioi`l@~)user connectionsrrr<l,fL)rr0mean)r3s r7test_groupby_mean_no_overflowrsD -I  B ::f m , 1 1 3C 8z(test_median_empty_bins..s r9) rr@rrrrr.cutr0rrPr1r2)rr3grpsbinsr6r5s r7test_median_empty_binsrs 299((+44QC@ AB B?D 66"Q% D ZZxZ 0 7 7 9Fzz$z2667KLH&(+r9cbtgdgdddgzd}|jdj}d|vsJ|jdjd }d|vsJ|jdj}d|vsJ|jdjd }d|vsJy) N) rrrrmama)nniissrrFr)rr0rr)aar6s r7test_max_min_non_numericr s *,a6(lS TB ZZ  ! ! #F 6>> ZZ  ! !u ! 5F 6>> ZZ  ! ! #F 6>> ZZ  ! !u ! 5F 6>>r9ctgdgdgdd}|j|s'|r$t|jjdk(sJ |j d}|dgj }tjgdd }tdgd i| }tj|||dgj}tjgdd }tdgd i| }tj||y) N)rrrrr)rrrrF)r!r"rder;rr<r>rr%)r"r r r[)r!rr ) r_consolidate_inplacerk_mgrblocksr0rr.r/r1r2r)using_array_managerusing_infer_stringr3rr6eir5s r7$test_max_min_object_multiple_columnsrs  ,*  B +=s277>>"a'DD1 CB Y]]_F )# &B#/r:H&(+ Y]]_F )# &B#/r:H&(+r9cLtjtgddjj}t t jdt jggd|d}|jdd d jd }tjtd d gd djj}tj|||jdd j}d|j_ tj||y) N) 2019-05-09rrz%Y-%m-%d)format1)rrrrr"Fas_indexrrr%)r.rr rdaterr@rAr0rr1rQr)r&)datesr3r6r5s r7test_min_date_with_nansrs NN9:: b  "&&#rvv.YUK LB ZZeZ ,S 1 5 5 7 VVaV Fq$irxx0H68>VVaV Fq"&&k"H68>r9c^tdtdtdzg}|jgd}|jd}ttj tj tdzd}|j jt|_tj||dy)Nrr)rrrrrrTr ) r rr0rr@rAr)rr|r1rQ)rRrr6r5s r7test_max_inat_not_all_nar%s !T1dQh' (C \ "B VVaV F"&&RVVq9:H^^**3/HN68>r9rrrcddg}tjddd}t||d}t|j dd|}tj ddgd }t ||d }tj||y) Nrr2020Yrfreqr}r!r"r%r)r&) r. period_rangerr,r0r/r r1rQrgroupsrr3r6idxr5s r7$test_groupby_aggregate_period_columnr0s~VFoofac:G g. /B 0WRZZ_S)4 0 2F ((Aq6 $CgSs3H68,r9cddg}tjddd}t||d}t|j d|}tj ddgd}td |i| }t j||y) Nrrr'r(r)r}r!r%r"r[)r.r,rr,r0r/r1r2r-s r7#test_groupby_aggregate_period_framer2,s{VFoofac:G g. /B +WRZZ_d + -F ((Aq6 $C#ws3H&(+r9ctgdtdtjgdzdj t }|j dj}tddgdd gtjtjgdjdj t }tj||tgdtdtddj t }|j dj}tddgdd gd d gdjdj t }tj||y) Nrabcdr)r#rYrZr#r<r=r!rrr) rlistr@rArrjr0rrr1r2rrs r7#test_aggregate_numeric_object_dtyper6:s& $d6lRVVHqLQ  fVnZZ  " " $F#Jc RVVRVV @F  C:FD ICNNAt9!QN4[  H&(+r9c |}tdgddd|jdd}t|jd|}tddg|t j g|d}t j||y) Nr!rrMrr"rrP)r(rNr))rrr,r0r.r/r1r2)rstring_dtype_no_objectrNr3r6r5s r7test_min_empty_string_dtyper_sx #E #Ss35 A F Fr JB +WRZZ_d + -Fc %rxx%c/RH&(+r9r test_seriesc|dk(ry|}|dvri}n|dvrd|i}n |dvri}nd|i}|tj}}|dvr d}|dk(rd nd }ny|d vrA|r3|d k(r.|jd k(r|jtjurd}nd}|d k(rdnd}n4|dvrdtj }}n|dkDrtj}n|dk(rd}t dgtjgd|}|r|dn|} t|| } | j|d} t| |} |dvr6d|d|d} tjt| 5| | i|dddy| | i|}tjdgd| }|s|d k(r|s|d k(rdnd}t||||!}nt d|i||"}tj ||y#1swYyxYw)#Ncorrwith)rrryrzrrstdvar)kurtr)rnuniquequantilesemr)rrrirFT)rrfrrpyarrowrWr"rr)ryrzfloat64sumrrr}rMr"r!) rrreprodrgrhskewrcrdzdtype 'z' does not support operation ''rnr~)r)rNr&rO)r.rbstoragerr@rArr r0r,rprqrrr/r r1rc)r^reduction_funcrr`rNrvexpected_dtyperr3reargsrrrr6r)r&r5s r7test_string_dtype_all_narss  # "E   8 #y) J Jy)%*BEENN'"0E"9t 7 7 &( *"%%'$N$N,6A / /)2BFF Q 5  #beeW-U ;B "S'bC ">3 7D RW B R (F  w<^V+Ct.^RVWc>2%~VOOFH% $s < F88Gc6|}tdgtjgd|}|jd}|j |}|dk(rdntj}td|itj dgd| | }t j||y) Nrr}rMr!rrrr"r~rO)rr.rbr0rkr/r1r2)r^rrNr3rr6r[r5s r7test_string_dtype_empty_sumru!s #E #beeW-U ;B CB VViV (Fq.BbeeE e BHHcUEB%H&(+r9c ~tgdgdttjtjdggdd}|j d}|dgj }|dj j }tj|||djjrJy)N)z-04-23z-05-06z-05-07)z2013-04-23 00:00:00z2013-05-06 00:00:00z2013-05-07 00:00:00OE)z log080001.logzlog.logxlsx)z Unnamed: 0DateappFileryr{) rr r@rAr0rto_framer1r2r r)r3rrr s r7test_max_nan_bugr~/s 8 2662664018  B F B F8 A 6 !!#A!Qy~~##%% %%r9rdropnarwith_nankeysjoejimc d}d}tdd}ttjj dj t t|tjj dj ||tjj djd||d}|r{|jdti}d|jd dd d f<d|jd dd df<d|jddddf<d|jddddf<d|jddddf<|j} |j|||} | dj|} |j|||} | djt j|} |s| j#d} |rt%j&| | dnt%j(| | dt%j(|| y)NrBrz 2015-08-23rrr)rrjulierrrrr%rrR)rrrT)rF) check_names)r rr@rrchoicer5rrrrUloccopyr0rfapplyr reset_indexr1rQr2) rrrrrnmdaysr3 original_dfgrleftrights r7test_series_groupby_nuniquerCs A A lB /D 99((+2243H!L99((+224;YY**1-66q!Q?  B YY' (#qu"ue|#qu"ue|!%qu"ug~!%qu"ug~!%qu"ug~'')K D8$ 7B g;  f  -D D8$ 7B wK  fnnV   dEu="k*r9cNttdtdtdd}ttdgdgdd}|jdd j}t j ||td|_d|j _|jd }|jdj}t j |||jd dijdjd }t j ||tdgdzdgdzdtd}d|j _|jd dijdj}t j ||y)Nabbaccabxaccabbacxr;abc)rrr)rrrr<Frr?rrrr)r=r>r[) rr5r0rfr1r2r)r&rreplacerBs r7 test_nuniquerksP hd8n4>R SBtE{KLH ZZeZ , 4 4 6F&(+%[HNHNN}}S})H ZZ_ $ $ &F&(+ZZd $ , ,S 1 9 9 9 GF&(+sQwaS1W5T%[IHHNN ZZd $ , ,S 1 9 9 ;F&(+r9c.tgdgdgdgdgdggd}|jdd gd j}tj|j |j g}td gd zd | }tj||y)N)rBrAlice)rBob)i,rCharlie)iprDan)rrEdith)amountr@r&r?r@rr&rrr) rr0rfr from_arraysr@rr r1rQ)rJr6r)r5s r7test_nunique_with_objectrs        ) D\\4* +F 3 ; ; =F  " "DGGT[[#9 :EqcAgF%8H68,r9ctdt}|jdj}tdd}t j ||y)Nr&r~rlevelr")r rjr0rfr1rQ)rJr6r5s r7test_nunique_with_empty_seriesrsC vV ,D \\\ " * * ,F61H68,r9cttdtdtdggddjd}|jt j dd j }|jt j dd jtj }tj||y) Nz2016-06-28 09:35:35z2016-06-28 16:09:30z2016-06-28 16:46:28)r23)rrJrh)r*rJ) rr rr0r.Grouperrfrr r1rQtestr6r5s r7test_nunique_with_timegrouperrs /0/0/0 $   i \\"**#. / 7 ? ? AF||BJJC01&9??OH68,r9zkey, data, dropna, expected)rrrz 2019-01-01rr#r%r+i)rrryrr)rrrrrct||d}|jdgdj|}tj||y)N)r#rJr#rJr)rr0rfr1rQ)r#rJrr5r3r6s r7test_nunique_with_NaTrsGV 3- .B ZZ  ( 0 0 0 ?F68,r9ctgdtjdgd}|jgdj }tdgt j dg|j }tj||y) N)rrrr<level_0r%r?rrr)r)r() rr.r/r0rfr@rGr(r1r2rs r7)test_nunique_preserves_column_level_namesrs` Y#Y(G HD \\) $ , , .F!BHHaSM4<<HH&(+r9cttdddg}|jgddjd}t gdd}t j ||y) Nz 2008-12-31z 2009-01-02rr?)rrrrf)rrrr%)rr r0 transformr r1rQrs r7$test_nunique_transform_with_datetimersQ :lL9F8 LB ZZ "6 * 4 4Y ?Fif-H68,r9ctdgjd}|dd}|j||}|j}|rtg|ddd}ntdg|d}t j ||y)Nrr8rrr"rO)r rr0rfr1rQ)rrrRrr6r5s r7test_empty_categoricalrsw !+  Z (C bq'C S8 ,B ZZ\F"CG7;1#S868,r9c tddtjdg}|jgd}d}t j t |5|jtj}dddd}t j t |5|jtj}ddd|j}t j|t j|y#1swYxYw#1swYRxYw)Nrrr)rrrrzusing SeriesGroupBy.sumrnz using np.sum) r r@rAr0r1rrrPr-rkrrQ)srrr6rEr5s r7test_intercept_builtin_sumrsS"&&#&'Aii %G #C # #M =+X\\*+ C # #M =.-- -.{{}H68,7H-++..s C8 D8DD rc Bd}d}tj}tj|||||||gd}t gd|d}|j dj |}|d k(rTt d tjgd d itjgd d}tj||yt d tjtjgdzd itjgd d}tj||y)NTFrLrM)rrrrrrrr9r<rrr=)rrrrWrr%r[r) r@rAr.rGrr0rkr/r1r2rb)rr"r!nadfgr3r6r5s r7!test_groupby_sum_mincount_booleanrs A A B ((Aq"b!Q*) .sngan$v>r9rc*t|S)Nrr)rrrs r7rz3test_regression_allowlist_methods..s.'!R.d:Sr9) rTr1rrr0r,rrr2) rrr+r raw_frameframerrr6r5s ``` r7!test_regression_allowlist_methodsrs,1#I qyQ ; # #M =?--ad->? V|%"%V4==q=)// >  ***5H fh/%"%'==q=)//0ST ***5H fh/#??s D**D3c(ddgddgddgddgddgddgddgdd gdd gdd gdd gdd gddgddgg}t|ddgd}|jdgjj}tdgdgdd}t j ||y)Nrr)rrrrr+r/rXr<r=r")r(rNlN+R@r9rM)rr0rlrr1r2)rJr3r6r5s r7"test_groupby_prod_with_int64_dtypers B B B B A B B A A B A B B B D 4#s7 ;B ZZ  # # % 1 1 3Fs*<)=>gNH&(+r9)jr-datetimerstringrnumpyr@rppandas._libs.tslibsrpandas.core.dtypes.commonrpandas.core.dtypes.missingrpandasr.rrr r r r pandas._testing_testingr1pandas.tests.groupbyr pandas.utilrtdmark parametrizerAr8rCrIrbrTrGrir`rgrrlrsrwrrrrrrrrrrr rrr#r%r0r2r6strr<rMrWr\r_rsrur~slowrrrrrr/rrrrrrrrrrrrrrcrdrkrlrrrparam skip_if_norrrrrur9r7rs " $298.eU^4   $,%5&," ,5%.9,:,5%.9  ruu u ruud ruue   - : -%   BHHdV4 ( BHHbeeWI .     BHHbeeWI . BHHdV4 (     BHHbeeWI . BHHbeeWI .     BHHbeeWI . BHHbeeWI .  ': ,;: ,5%.9"AB &C: &% ' 266"D) & rvv&. &&5%.9:::5%.9&:&8 45,6,(8 45%,6%,P aVA1a&IJ aVA1a&IJ$7,8,@  2 3 2 3  /  #KL,M ,&& 12,3,64P-",,",>-$?( ?%0 -1 -%0 ,1 ,,<%0 , ,1 ,"UV,/W,/^)"!@A,B,,%0,1,q!f-u 6R&7.R&jq!f- ,. ,&(%/E4=1dE]3dE]35'E5>!:;+<4420 +D,2-&--"!  | $bffi .E F  A3hbhhu59 G    RWWT1a "&&'"''$1*= >  A3hbhhu59 G   &a#a#a#    Aq63*5!A O  &a#a#a#    Aq63*5!A O 3%(R-S(R-,- -."q"g.0/0, ,*0 P 4*!!,<=>? $qq)+;<=> aa(*:;<= aa(*:;<= *!!,<=7ST  % %6(   299       %& %& "'' UI]R]]7-CD " ,#" , -RUUAq"%%Aruua8 !'9:  %>?,@ ,( !Q(D%=1$/002)$0@,r9