gL iddlmZddlmZmZddlZddlZddlZddlm Z m Z ddl m Z ddl ZddlmZej$ddd ZGd d ZGd d eZGddeZGddeZGddeZGddeZy)) annotations)datetime timedeltaN)IS64is_platform_windows)np_version_gt2Tclass)autousescopec#^Kj}tj|j|j|j g}fd}j j}|js |jrdy|D]%}||r td|jd|dyw)Nc|\jjj}tfd|DS)Nc3zK|]2}|jvxr|jvxr|jv4ywNname).0xdtypeklassmethods i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/indexing/test_coercion.py z.has_test..$s< IJEQVVO D DFaff4D D s8;)nodesessionitemsany)combo cls_funcsrrrrequests @@@rhas_testz)check_comprehensiveness..has_test!s>$ufLL((..  NW   ztest method is not defined: z, ) cls itertoolsproductklassesdtypesrconfigoptionlfkeywordAssertionError__name__)rr"combosr optsrs` rcheck_comprehensivenessr/s ++C   s{{CJJ EF  >> D ww$,,  EE?$23<<.5'J  s BB- !B-c,eZdZddgZgdZedZy) CoercionBaseindexseries) objectint64float64 complex128bool datetime64 datetime64tz timedelta64periodct|rNotImplementedErrorselfs rrzCoercionBase.methodFs !$''r!N)r, __module__ __qualname__r%r&propertyrr!rr1r18s'!G F((r!r1cZeZdZUdZgZded<dZdZejjdde fde fd e fgd Z ejjddejfd ej fde fgd Zejjddej fd ej fde fgd Zejj'ddZejj'ddZejj'ddZejj'ddZejj'ddZejj'ddZejj'ddZy)TestSetitemCoercionsetitemz list[str]r%ctjddg}t|j|ddtjddg}t j ||y)Na)pdSerieslistvaluestmassert_series_equal)rAserexpecteds r0test_setitem_series_no_coercion_from_values_listzDTestSetitemCoercion.test_setitem_series_no_coercion_from_values_listRsHiia!cjj!A99c1X& sH-r!c|j}d||<tjgd|}tj|||j j |k(sJ|j}d|j|<tjgd|}tj|||j j |k(sJy)z-test index's coercion triggered by assign key)rKrVr2N)copyrLrMrPrQr2rloc)rAoriginal_seriesloc_keyexpected_indexexpected_dtypetempexps r _assert_setitem_index_conversionz4TestSetitemCoercion._assert_setitem_index_conversion[s##%W ii~> tS)zz>111##%ii~> tS)zz>111r!z val,exp_dtyperrV皙?c,tjgdtjtdt}|j j tk(sJ|tur^|j}d}d}tj||5tjt|5d|d<ddddddytjtd|gzt}|j||||y#1swYOxYw#1swYyxYw) NrKrWrXrYabcdrrZz;Series.__setitem__ treating keys as positions is deprecatedz/index 5 is out of bounds for axis 0 with size 4matchrV)rLrMIndexrNr4r2r IndexErrorr[pytestraisesrPassert_produces_warning FutureWarningrc)rAval exp_dtypeobjrawarn_msgmsg exp_indexs rtest_setitem_index_objectz-TestSetitemCoercion.test_setitem_index_objectosii BHHT&\,PQyy&(((  "88:DTHCCy4 // XN DG   f!5VDI  1 1#sIy Q     s$D *C>0D >D D  Dctjgd}|jjtj k(sJtj dddd|g}|j||||y)NrfrrKrWrX)rLrMr2rnpr5rkrc)rArqrrrsrvs rtest_setitem_index_int64z,TestSetitemCoercion.test_setitem_index_int64sYii %yy"((***HHaAq#./  --c3 9Mr!gffffff@ctjgdgd}|jjtj k(sJtj dddd|g}|j||||y)Nrf)rd@@ffffff@rZrdr|r}r~)rLrMr2rryr6rkrc)rArqrrrrsrvs rtest_setitem_index_float64z.TestSetitemCoercion.test_setitem_index_float64s\ii ,@Ayy"**,,,HHc3S#67  --c3 9Mr!Test not implementedreasonctrr>r@s rtest_setitem_series_periodz.TestSetitemCoercion.test_setitem_series_period!!r!ctrr>r@s rtest_setitem_index_complex128z1TestSetitemCoercion.test_setitem_index_complex128rr!ctrr>r@s rtest_setitem_index_boolz+TestSetitemCoercion.test_setitem_index_boolrr!ctrr>r@s rtest_setitem_index_datetime64z1TestSetitemCoercion.test_setitem_index_datetime64rr!ctrr>r@s rtest_setitem_index_datetime64tzz3TestSetitemCoercion.test_setitem_index_datetime64tzrr!ctrr>r@s rtest_setitem_index_timedelta64z2TestSetitemCoercion.test_setitem_index_timedelta64rr!ctrr>r@s rtest_setitem_index_periodz-TestSetitemCoercion.test_setitem_index_periodrr!N)r,rBrCrr%__annotations__rTrcrmmark parametrizer4rlrwryr5r6rzrxfailrrrrrrrrEr!rrGrGKs FGY.2( [[3-!Z3-H R R [[1bhh-#rzz):S&MJNN [[1bjj/C+>V+ ++  ! !&( 3l|>SYY. ..  ! !&( 3l|>V+ ++  ! !&( 3At$::f%,,Q5{d"""~~''' fh/r!ctjgd}|jdk(sJtjgd}|j|tjd|dtj ddfD]d}|j d|}|jtj d|}|jtk(sJtj||fy)N)1 day2 day3 day4 daytimedelta64[ns])r10 dayrrrrrrK) rLTimedeltaIndexrr Timedeltarrrr4rPr)rArsrbrrrSs rtest_insert_index_timedelta64z5TestInsertIndexCoercion.test_insert_index_timedelta64/s DEyy---- NO && h'.? \\,/3 4DZZ4(Fzz&)00D9H>>V+ ++  ! !&( 3  4r!z2012-01Mfreq period[M]cbtjgdd}|jdk(sJtjdd|tjddtjddtjddg}t |tjrItj|d}|j |||||j |t |||y|jd |}|jtjd |}tj||t |tjs`|jd t |}|jtjd t |}tj||yy) N)2011-012011-022011-032011-04rrrrrrrr) rL PeriodIndexrPeriod isinstancerstrrrr4rPrr) rArrrrsdatarbrrSs rtest_insert_index_periodz0TestInsertIndexCoercion.test_insert_index_period?sOnnIPSTyyK''' IIic *  IIic * IIic * IIic *   fbii (..C0C  * *3] K  * *3F S- PZZ6*Fzz&)00F;H  ! !&( 3fbll3As6{3::f-44QF D%%fh7 4r!rrctrr>r@s rtest_insert_index_complex128z4TestInsertIndexCoercion.test_insert_index_complex128grr!ctrr>r@s rtest_insert_index_boolz.TestInsertIndexCoercion.test_insert_index_boolkrr!N)r,rBrCr%rrrmrrr4rryr6rrrLrrrrrrrrrEr!rrrsyiG F+ [[, 6N #v  E6 " #v   HH [[,  #rzz " E6 " #v   HH [[, #rzz " E6 " #v     H  H [[ R\\, ')9 : R\\,< 8:V W > *  [[ l #\R\\,<%PRST(0 (0T4  [[, RYYys +Y D R\\, 'l)CV L 6N #v   88> [[45"6" [[45"6"r!rc ,eZdZdZej gdZdZdZdZ e jjdde fde fd e fd e fgd Ze jjddejfdej fd ej"fd e fgd Ze jjd dej fdej fd ej"fd e fgdZe jjddej"fdej"fd ej"fd e fgdZe jjdde fde fd e fd ej*fgdZe jjdej0ddfej0dde fgddgdZe jj5ddZe jj5ddZe jj5ddZe jj5ddZe jjdej>d !e d !ejBd d"gd#Z"d$Z#y%)&TestWhereCoercionwhereTFTFc|j}|j||}tj|||j|k(sJy)z test coercion triggered by whereN)r[rrP assert_equalr)rArcondrOrSr`rrs r_assert_where_conversionz*TestWhereCoercion._assert_where_conversionts?ll4( X&yyN***r!cdur |gd}nItttjfrt j d}n|fddD}||d|d|d |d g| }||fS) NT)TFTTrYperiodsc3(K|] }|z ywrrE)rrrs rrz3TestWhereCoercion._construct_exp..s>A1x<>s)rVrrKrWrXrh)rrryr9rL date_range)rArsrrrrrOrbs ` r_construct_expz TestWhereCoercion._construct_exp}sx t 45F 8R]]"; <]]8Q7F>>>FSVVAYAq :)Ls{r!c||j}||d||d|g|}|j||||||j||||\}}|j|||||y)NrrWrh)_condrr)rArsrrrrrrbrOs r _run_testzTestWhereCoercion._run_testssTZZ SVXs1vx8 J %%c43 J))#uh J  %%c4iHr!rrKrd??Tc|}|tdt}|jtk(sJ|j||||y)Nrgrh)rNr4rrrAindex_or_seriesrrrrrss rtest_where_objectz#TestWhereCoercion.test_where_objects=  DL/yyF""" sHeY7r!c|}|gd}|jtjk(sJ|j||||y)Nrf)rryr5rrArrrrrrrss rtest_where_int64z"TestWhereCoercion.test_where_int64s;  L!yyBHH$$$ sHeY7r!zfill_val, exp_dtypec|}|gd}|jtjk(sJ|j||||y)N)rd皙@ffffff @皙@)rryr6rrs rtest_where_float64z$TestWhereCoercion.test_where_float64s<  ()yyBJJ&&& sHeY7r!c|}|gdtj}|jtjk(sJ|j||||y)N)r@@@@@@rh)ryr7rrrs rtest_where_complex128z'TestWhereCoercion.test_where_complex128sB 4BMMJyyBMM))) sHeY7r!c|}|gd}|jtjk(sJ|j||||y)Nr)rrybool_rrs rtest_where_series_boolz(TestWhereCoercion.test_where_series_bools<  ./yyBHH$$$ sHeY7r!rrrrr9r:rc^|}|tjdddjd}|jdk(sJ|}|dk(r;||j |j fD]}|j ||||y||j fD]}|j ||||y)NrrYDrrr)rLr _with_freqr to_pydatetime to_datetime64r)rArrrrrrsfvscalars rtest_where_datetime64z'TestWhereCoercion.test_where_datetime64s BMM,DOOPTUVyy,,,,  ( (r//123C3C3EF >sFE9= >r//12 @sHeY? @r!rrctrr>r@s rtest_where_index_complex128z-TestWhereCoercion.test_where_index_complex128rr!ctrr>r@s rtest_where_index_boolz'TestWhereCoercion.test_where_index_boolrr!ctrr>r@s rtest_where_series_timedelta64z/TestWhereCoercion.test_where_series_timedelta64rr!ctrr>r@s rtest_where_series_periodz*TestWhereCoercion.test_where_series_periodrr!r daysrctjdd}tjgd}tjd||dg}|j ||}t j||tjdd}tj|d|||d gt }|d |usJ|j ||}t j||y) Nz1 DayrYr)TFFTz4 DaysNaTrrrXrhrK) rLtimedelta_rangeryarrayrrrPrr9rkr4)rArtdirrSrdtnats rtest_where_index_timedelta64z.TestWhereCoercion.test_where_index_timedelta64s  !4xx23$$gueX%FG4' fh/ eT*88SVUE3q6:&I{e###4' fh/r!ctjddd}|jd}tjgd}|d|j dzz}tj ||d |g}|j||}tj||tj||j dzzt }|j||}tj |d |d |d g}tj||tjd }tj||d |gt }|j||}tj||tjdd} tj| |d | gt }|j|| }tj||y)N 2016-01-01rXQSrQ)FTF rKrhrrWrYr'z 2020-04-21r)rLr to_periodryr,rrrrPrasarrayr4rrkr) rAdtipirrrSrothertdpers rtest_where_index_periodz)TestWhereCoercion.test_where_index_periodswmmL!$? ]]3 xx,-22%>>5"Q%"78$& fh/ 2" ,F;$&>>58RUE!H"=> fh/\\q !88RAO6:$# fh/ii c*88S"Q%-V<$$ fh/r!N)$r,rBrCrryr,rrrrrmrrr4rr5r6r7rr rrrrLrrrrr!r#r%rrr;r/r=rEr!rrrps F BHH/ 0E+ I [[ VsFmff%5f~F8 8  [[ RXXbjj)FBMM+BT6NS8 8 [[ RZZ3 +fbmm-DtVnU8 8 [[   "-- R]] # 6N  88  [[ VsFmff%5bhh7GH8 8 [[ R\\, ')9 : R\\,< 8& A > *  @ @ [[45"6" [[45"6" [[45"6" [[45"6" [[,",,A& q(9>2>>!S;QR00 0r!rc<eZdZdZej j ddZdZej jdde fde fd e fd e fgd Z ej jd de jfde jfd e jfd e fgd Zej jd de jfde jfd e jfd e fgdZej jd ej$ddfej$dde fde fde fggddZej jd ej$dddfej$de fej$dddfde fde fgdZej jdddd d ej*dddej$ddej$dej,dej.dd g d!Zej j dd"Zej j dd#Zej j dd$Zej j dd%Zej j dd&Zej jdddd d ej*dddej$ddej$dej,dej.dd'g d(Zej j dd)Zej j dd*Z y+),TestFillnaSeriesCoercionfillnarrctrr>r@s rtest_has_comprehensive_testsz5TestFillnaSeriesCoercion.test_has_comprehensive_tests(rr!c|j}|j|}tj|||j|k(sJy)z!test coercion triggered by fillnaN)r[r@rPrrrs r_assert_fillna_conversionz2TestFillnaSeriesCoercion._assert_fillna_conversion,s;mmE" X&yyN***r!zfill_val, fill_dtyperKrdrTc|}|dtjddgt}|jtk(sJ|d|ddgt}|j ||||y)NrJrrrh)rynanr4rrDrArr fill_dtyperrsrbs rtest_fillna_objectz+TestFillnaSeriesCoercion.test_fillna_object3s]  S"&&#s+6:yyF"""S(C-V< &&sHc:Fr!zfill_val,fill_dtypec|}|dtjddg}|jtjk(sJ|d|ddg}|j ||||y)Nrdr r )ryrFrr6rDrGs rtest_fillna_float64z,TestFillnaSeriesCoercion.test_fillna_float64?s]  S"&&#s+,yyBJJ&&&S(C-. &&sHc:Fr!c|}|dtjddgtj}|jtjk(sJ|d|ddg}|j ||||y)Nrrrrh)ryrFr7rrDrGs rtest_fillna_complex128z/TestFillnaSeriesCoercion.test_fillna_complex128Ksc VRVVVV4BMMJyyBMM)))VXvv67 &&sHc:Fr!rrrrr)r9r:r4r4rc|}|tjdtjtjdtjdg}|jdk(sJ|tjd|tjdtjdg}|j ||||y)Nrrrr)rLrr*rrDrGs rtest_fillna_datetimez-TestFillnaSeriesCoercion.test_fillna_datetime\s  \* \* \*   yy,,,, \* \* \*    &&sHc:Fr!rrc |}d}|tjd|tjtjd|tjd|g}|jdk(sJt |dd|}n|j |}|tjd||tjd|tjd|g}|j ||||y)Nrrrrrrr)rLrr*rgetattrrrD) rArrrHrrrsrrbs rtest_fillna_datetime64tzz1TestFillnaSeriesCoercion.test_fillna_datetime64tz|s   \b1 \b1 \b1   yy8888 8T4 ( 0B$$R(B \b1 \b1 \b1    &&sHc:Fr!rrWleftclosedr'r1rc>tjdddjdtj}t |j tjsJ||}||d||d|d|d gt }t}|j||||y) Nrg@rightrTrKrrWrXrYrh) rLinterval_rangerryrFrr IntervalDtyper4rD)rArriirsrbrHs rtest_fillna_intervalz-TestFillnaSeriesCoercion.test_fillna_intervals  sC 8 ? ?266 J"((B$4$4555b!r!uh1r!ubeDFS  &&sHc:Fr!ctrr>r@s rtest_fillna_series_int64z1TestFillnaSeriesCoercion.test_fillna_series_int64rr!ctrr>r@s rtest_fillna_index_int64z0TestFillnaSeriesCoercion.test_fillna_index_int64rr!ctrr>r@s rtest_fillna_series_boolz0TestFillnaSeriesCoercion.test_fillna_series_boolrr!ctrr>r@s rtest_fillna_index_boolz/TestFillnaSeriesCoercion.test_fillna_index_boolrr!ctrr>r@s rtest_fillna_series_timedelta64z7TestFillnaSeriesCoercion.test_fillna_series_timedelta64rr!Wc>tjdddjdtj}t |j tj sJ||}||d||d|d|dgt }t}|j||||y) Nr1rYrrrKrrWrXrh) rL period_rangerr*rr PeriodDtyper4rD)rArrr9rsrbrHs rtest_fillna_series_periodz2TestFillnaSeriesCoercion.test_fillna_series_periods__\13 ? F Fq"&& Q"((BNN333b!r!uh1r!ubeDFS  &&sHc:Fr!ctrr>r@s rtest_fillna_index_timedelta64z6TestFillnaSeriesCoercion.test_fillna_index_timedelta64rr!ctrr>r@s rtest_fillna_index_periodz1TestFillnaSeriesCoercion.test_fillna_index_periodrr!N)!r,rBrCrrmrrrBrDrr4rIryr6r7rKrMrLrrOrRIntervalrrr[r]r_rarcrerjrlrnrEr!rr?r?#s)F [[45"6"+ [[ VsFmff%5f~FG G [[ RZZ3 +fbmm-DtVnUG G [[   "-- R]] # 6N  GG [[ R\\, ')9 : R\\,< 8& A K &M  ? G G, [[ R\\,< 8:V W R\\, ' 0 R\\,< 8:V W K &M   G G8 [[    BKK1V , BLL, 7 BLL & BLLa BIIlC (  G G [[45"6" [[45"6" [[45"6" [[45"6" [[45"6" [[    BKK1V , BLL, 7 BLL & BLLa BIIlC (  G G [[45"6" [[45"6"r!r?ceZdZUdgZdZiZded<ddged<dd ged <d d ged <ddged<ddged<ejdejdged<dD]3Z de dZ ejde ejde gee <5ejdejdged<e jddgd Ze jgd!d"Ze jgd!gd#$d%Ze jd&Zd'Ze j&j)d(gd)d*e j&j)d+d,d-gd*d.Ze j&j)d(gd/d*e j&j)d+gd/d*d0Ze j&j/d12d3Zy4)5TestReplaceSeriesCoercionr3replacezdict[str, list]reprJrr4rYrVr5rdr r6rrr7TFr8rrr)UTCrzdatetime64[ns, ]rrrrdict)paramsc|jSrparamrArs rhowzTestReplaceSeriesCoercion.hows }}r!) r4r5r6r7r8rdatetime64[ns, UTC]rrc|jSrryr{s rfrom_keyz"TestReplaceSeriesCoercion.from_key s}}r!) r4r5r6r7r8r9r:r:r;)rwrc|jSrryr{s rto_keyz TestReplaceSeriesCoercion.to_keys2}}r!c|dk(r1tt|j||j|}|S|dk(r3tj|j||j|}|St )z9 Object we will pass to `Series.replace` rvr3rZ)rvziprsrLrM ValueError)rAr|rrreplacers rrz"TestReplaceSeriesCoercion.replacer5so &=C 2DHHV4DEFH  H_yy&!1(9KLH r!ctjddgd}tj|j||d}|j |}|j |k(sJ|j dr|j dry|dvry|d k(r|d vs |d k(rV|d vrRtr trtjd |d|tj|j||d|}n%tj|j||d}|r$|j dk(r|j t}d} t} |j |j k(sC|j tk(s0|j jdvr|j jdvrd} tj| | 5|j!|} dddtj" |y#1swY xYw)NrXrYxxxryyyr2rr)rr}r6r5r7)r5r6z32-bit platform buggy: z -> )r2rrstring!Downcasting behavior in `replace`iufcri)rLrkrMrsrr startswithrrrmskipr4rpkindrProrrrQ rAr|rrrusing_infer_stringr2rsrbruwarnrs rtest_replace_seriesz-TestReplaceSeriesCoercion.test_replace_seriesBs!Qe,ii*%eDjj"yyH$$$   z *v/@/@/L  N N   !f&9  $3G)G.0 5hZtF8LM))DHHV,EXVC))DHHV,EFC #))x"7**V$C1 II "yyF" &(SYY^^v-ED  ' 'C 8 +[[*F + vs+ + +s 5G&&G/r)rr8r4r7r6r5)indirectrr}rc<tjddgd}tj|j||d}|j|k(sJtj|j||d}|r%|jdk(r|j t }n|j|k(sJd} |jt k7rtnd} tj| | 5|j|} dddtj |y#1swY xYw) NrXrYxyzrrrrrri) rLrkrMrsrrr4rprProrrrQrs rtest_replace_series_datetime_tzz9TestReplaceSeriesCoercion.test_replace_series_datetime_tzls!Qe,ii*%eDyyH$$$ii(EB #))x"7**V$C99& &&1 # V 3}  ' 'C 8 +[[*F + vs+ + +s !DD)rr}rctjddgd}tj|j||d}|j|k(sJtj|j||d}t }t |jtjrBt |jtjr|j|j}d}n|j|k(sJ||k(rd}d} tj|| 5|j|} dddtj |y#1swY xYw) NrXrYrrrrrri) rLrkrMrsrrprDatetimeTZDtyperrProrrrQ) rAr|rrrr2rsrbrrurs r%test_replace_series_datetime_datetimez?TestReplaceSeriesCoercion.test_replace_series_datetime_datetimes!Qe,ii*%eDyyH$$$ii(EB cii!3!3 4 IIr)): **SYY'CD99& &&!1  ' 'C 8 +[[*F + vs+ + +s EE rrctrr>r@s rtest_replace_series_periodz4TestReplaceSeriesCoercion.test_replace_series_periodrr!N)r,rBrCr%rrsrrLrrkeyrrmfixturer|rrrrrrrrrrrEr!rrqrqs[jG FC#JCMq6CL3ZC N(C -CK)R\\,7l9STC# t1% BLL" - BLL" - C +bll73\R\\'5JKCV^^FH-./V^^    V^^   010 ^^  (,T [[O  [[*,HITX, ,* [[O  [[O ,  ,0 [[45"6"r!rq) __future__rrrr#numpyryrm pandas.compatrrpandas.compat.numpyrpandasrLpandas._testing_testingrPrr/r1rGrrr?rqrEr!rrs" /G,-:((&d",d"N{"l{"|p0 p0fJ"|J"Z}" }"r!