gL i\) 2ddlZddlZddlmZddlmcmZddl Z ddl m Z m Z ddl mZej ej"ej$ej&ej(ddggddZd Zej.j0d Zd Zd Zej.j9d ddgej.j9dgddZdZdZej.j9d ddgej.j9dgdej.j9dgdgdfgdgdfgdgdfgdZ ej.j9d ddgdZ!ej.j9ddd gd!Z"ejFej.j9d ddgej.j9d"d#ejHd$jJfd%gd&Z&d'Z'y)(N)UnsupportedFunctionCall) DataFrameSeriesInt64Float64)znp.int32znp.int64z np.float32z np.float64rr)paramsidsc|j}|}|dk(rtj}n|dk(rtj}tj|j dk(rtj |jntj|j}tj|j dk(rtj |jntj|j}|||fS)zZ Fixture of dtypes with min and max values used for testing cummin and cummax rri) paramnpint64float64dtypekindiinfominfinfomax)requestrnp_typemin_valmax_vals j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_cumulative.pydtypes_for_minmaxrs MMEG (( ) ** 88G  ! !S (  XXg  " "  88G  ! !S (  XXg  " " 7G $$ctdgdzdd}|jddj}|jdddjd }d|_t j ||tdgd zdd}|djt|d<|jddj}|jdddjd }d|_t j ||y) Nb keyvaluer"r#F group_keysc"|jSNcumprodxs rz&test_groupby_cumprod..3 AIIKrdc"|jSr'r(r*s rr,z&test_groupby_cumprod..:r-r) rgroupbyr)applynametmassert_series_equalastypefloat)dfactualexpecteds rtest_groupby_cumprodr:.s C52:2 3B ZZ w ' / / 1Fzz%Ez27;AABWXHHM68, C53;3 4BW+$$U+BwK ZZ w ' / / 1Fzz%Ez27;AABWXHHM68,rc<tdgdzdd}|jddj}tgdd}t j |||jdd dj d }d|_t j ||y) Nr順r!r"r#)r=ld( lI5l Fx:^r2Fr$c"|jSr'r(r*s rr,z/test_groupby_cumprod_overflow..Ks !))+r)rr0r)rr3r4r1r2)r7r8r9 numpy_results rtest_groupby_cumprod_overflowrA?s C519w7 8B ZZ w ' / / 1FM H68,::e:6w?EEL L6<0rctddtjdggdd}|jdj dd}tdtjtjggd d }t j ||y) Nr )rCr g@)arcrDTF) numeric_onlyskipna)rCr g@)rrE)rr nanr0r)r3assert_frame_equal)r7resultr9s r1test_groupby_cumprod_nan_influences_other_columnsrKQsq RVVQ  BZZ_ $ $$u $ EF2662662EFH&(+rc *|d}|d}tgdgdd}gd}|j|}td|ij|}|jdj}t j |||jdd j jd j}t j ||||jd d gdf<|dz|jddgdf<||jgddf<|dz|jddgdf<|jdj}t j ||d|jdd j jdj}t j ||d|jddi}tj|jgddf<tdtjdtjd tjdtjdgi}|jdj}t j |||jdd j jdj}t j ||tdgtjdgd}ttjddgd}|jddj}t j||tgdgdd}|jdj j}tgdd}t j||y) NrrCrCrCrCrCr r r r r<rOr r rOr rCAB)rOrOrOr r r r rCrRrQFr$c"|jSr'cumminr*s rr,ztest_cummin..l rr r rOrWT) check_exactc"|jSr'rTr*s rr,ztest_cummin..w AHHJrr6rr r<rWr<rOc"|jSr'rTr*s rr,ztest_cummin..rVr2001rDrrindexr2rDrCr rC)rCr r r>)rr5r0rUr3rIrRr1to_framelocr rHpd to_datetimerr4r)rrrbase_df expected_minsr7r9rJs r test_cumminrk_s a E"G6=UVWG,M  B#}-.55e>6(#;< =BbnnV,QCcBH ZZ_S ! ( ( *F8V, 3 4B ZZ_   % % 'Fic*H68,rmethodrUcummaxr)UInt64rrr6booleanctgdtjgdzd}|dj||d<|j d}tdtjgdzi|}t ||}t j||t |d|j}t j||y)NrMrPrRrQr) rr rHr5r0getattrr3rIre)rlrrigroupedr9rJs rtest_cummin_max_all_nan_columnrus6bffX\JKG3<&&u-GCLooc"G#x!|,E:H %WWf % 'F(F+ *WWS\6 * , 5 5 7F(F+rc |d}|d}tgdgdd}gd}|j|}td|ij|}|jdj}t j |||jdd j jd j}t j ||||jdd gdf<||jgd df<|jdj}t j |||jdd j jdj}t j |||jddi}tj|jgddf<tdtjdtjdtjdtjdgi}|jdj}t j |||jdd j jdj}t j ||tdgtjdgd}ttjddgd}|jddj}t j||tgdgdd}|jdj j}tgdd}t j||y)Nrr rMrNrP)rOr<r<r<r rOrOrOrRrQFr$c"|jSr'rmr*s rr,ztest_cummax..rVrrWrYc"|jSr'rxr*s rr,ztest_cummax..r]rr6r^r<rOc"|jSr'rxr*s rr,ztest_cummax..rVrrCr`rarrbrDrd)r rCrC)r rCr r>)rr5r0rmr3rIrRr1rerfr rHrgrhrr4r)rrrri expected_maxsr7r9rJs r test_cummaxr|s a E"G6=UVWG,M  B#}-.55e>6(#;< =BbnnV,QCcBH ZZ_S ! ( ( *F8V, 3 4B ZZ_   % % 'Fic*H68,rcTttdDcgc]}tjj|z!c}}t d||j jdd}|jd}|j}|ddg}tj||ycc}w)NrXrCzM8[ns]rQrRCrQrRr) rrangergNaT_valuer_valuesviewr0rmr3rI)nserr7gbresexps r&test_cummax_i8_at_implementation_boundrs U1X6"&&--!#6 7C 3;;+;+;H+EF GB CB ))+C c3Z.C#s# 7s$B%)r6rrzgroups,expected_datarCrCrC)rCNNrCr rOrCNr )rCrOrOctdtgd|i}|j}|j|d}t ||d}t||d}t j ||t j||y)NrDrrrFrG)rr2)rrcopyr0rsr3rIr4) rlrgroups expected_datar7origrrJr9s rtest_cummin_max_skipnars{ C E:; xYw)NrCr )rOr<rr~)columnsr<rRrrQF)as_indexz1DataFrameGroupBy.cumsum with axis=1 is deprecatedr)axisz2DataFrameGroupBy.cumprod with axis=1 is deprecated) rr rHr0rr3rIassert_produces_warning FutureWarningr))r7r9rJrs rtest_cython_api2r'su Q266NQNI> XB1bff+{QF;c3ZPH ZZ_ # # %F&(+ZZeZ , 3 3 5F&(+ >C # #M =0C''Q'/0yyay H&(+ >C # #M =1C((a(01zzqz!H&(+00 11s4"F6#"G6F?G )(numpyr r pandas.errorsrpandas.util._test_decoratorsutil_test_decoratorstdpandasrgrrpandas._testing_testingr3fixtureint32rfloat32rrr:mark skip_ubsanrArKrk parametrizerur|rrrr skip_if_32bitrrrrrrrs& 1)) HHbhh BJJ KP% %6-"11" ,3-lHh#78"TU ,V9 ,1-h $Hh#78"?@ O$ L! O$ -A9 -Hh#78,9,)X!67  8  Hh#788XRXXh/3346JK,9 ,,r