gL i{P^ddlZddlZddlmZmZmZmZmZm Z m Z ddl m Z dZGddZy)N) DataFrameIndex RangeIndexSeries date_range period_rangetimedelta_rangec|tur+ttjt||}|St tj j djt|t|f||}|S)Nindex)r columns)rnparangelenrrandom default_rngstandard_normal)klassr objs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/indexing/test_floats.pygen_objrsl RYYs5z*%8 J  II ! !! $ 4 4c%j#e*5M N  Jc VeZdZdZej j deedeedde dde d de ddgd Z ej j deedeedde dde d de ddgd Z d Zej j deej dej"edgd Zej j deej dej"edgdZdZej j deedee dde d de ddgej j deddeddeddgdZdZej j deddeddeddgdZej j deej dej"edgdZej j deddeddeddgej j deej dej"edgdZej j deddeddeddgdZdZdZdZ y )!TestFloatIndexersct|tr|j|}n%|r|jdd|f}n|j|}tj||y)zw comparator for results we need to take care if we are indexing on a Series or a frame N) isinstanceriloctmassert_almost_equal)selfresultoriginalindexergetitemexpecteds rcheckzTestFloatIndexers.checksO h '}}W-H }}QZ0H}}W-H vx0rr abcdecategorydtypez 2020-01-01)periodsz1 dayct||}tjtd5||ddddd|vsJ|j }d||d<|t j urd|jdvsJy|t jurd|jdvsJyd|jdvsJd|jdvsJy#1swYxYw)N^3.0$match@ r) rpytestraisesKeyErrorcopyrsetitemaxesloc)r!r frame_or_series indexer_slss2s rtest_scalar_non_numericz)TestFloatIndexers.test_scalar_non_numeric,s OU +]]87 3  qM#  !|| VVX 2s  #"''"+% %% 266 !"''!*$ $$bggaj( ((bggbk) ))  s CCc.ttjt||}d}t j t |5|ddddtjtd5|ddddy#1swY3xYw#1swYyxYw)Nr ;Series.__getitem__ treating keys as positions is deprecatedr0r/r2) rrrrrassert_produces_warning FutureWarningr5r6r7)r!r r>msgs r'test_scalar_non_numeric_series_fallbackz9TestFloatIndexers.test_scalar_non_numeric_series_fallbackOs} 299SZ( 6K  ' ' S A  aD  ]]87 3  cF      sA?0B ?B Bctgdgd}tgdgd}tjtd5||ddddtjtd5||dddd||d }d }||k(sJtjtd5||dddd|tj ur4d }t j t|5|d }dddd }||k(sJtjtd5||dddd||d }d}||k(sJy#1swYxYw#1swYxYw#1swYxYw#1swY{xYw#1swYOxYw)N)r rC)abcr )rJrK?z^1.0$r0?z^1\.0$rKr rBrIrMrC)rr5r6r7rr;rDrE)r!r=r?s3r"r&rFs rtest_scalar_with_mixedz(TestFloatIndexers.test_scalar_with_mixedcsv I_ 5 I_ 5]]87 3 rN3  ]]89 5 rN3  B$!!!]]87 3 rN3   RVV #OC++ME A HX% %% ]]89 5 rN3  B$!!!9           s; E- E0 E'3E3% E?EE$'E03E<?Fc|tju}|}t||}||d}|j||d|t |t rd}d} nStj }|r!t dtt|d} n t dtt|d} |j} d|| d<|| d}||| || d}||| y)Nr2rCc||k(sJy)N)xys rcomparez6TestFloatIndexers.test_scalar_integer..compares Av vrd)r namegY@) rr;rr'rrassert_series_equalrangerr8) r!r r<r=r%irr"rVr&r?s rtest_scalar_integerz%TestFloatIndexers.test_scalar_integersBFF* oq)C% 637+ c6 " H,,G!#U3s8_1E!%uSXQG XXZ! 2sB$!B"!rc(t||}d|vsJy)Nr2)r)r!r r<rs r"test_scalar_integer_contains_floatz4TestFloatIndexers.test_scalar_integer_contains_floats ou-czzrcttjd}t||}|d}tj tj fD]}|tj u}|||}|j||d||j}|||}|j||d|tjtd5||ddddd|vsJ|jd} |j}| |jd<|jd}|j||ddy#1swYxYw)N@rCz^3\.5$r0 @r2F) rrrrrr;r9r'r8r5r6r7r) r!r<r r>r$idxrr%r"r?r&s rtest_scalar_floatz#TestFloatIndexers.test_scalar_floats,biin% OU +(VVRZZ( D"&&(G!WW%F JJvq!W -B"Xg&F JJvq!W -xy9 Q    $axx66!9 VVX  61a'  s  D<<E idxr2rC@ct||}|tjurdt|jd}ndt|jd}t j t|5|||ddd|tjurd}t j t|5d|||<dddy#1swYMxYw#1swYyxYw)Nz!cannot do positional indexing on / with these indexers \[(3|4)\.0\] of type floatcannot do slice indexing on z8 with these indexers \[(3|4)(\.0)?\] of type (float|int)r0zBslice indices must be integers or None or have an __index__ methodr)rrrtype__name__r5r6 TypeError)r!r rdr< indexer_slir>rFs rtest_slice_non_numericz(TestFloatIndexers.test_slice_non_numerics OU + "'' !E{++,- E{++,-''  ]]9C 0 N3   "'' !VC ]]9C 0 $"#KN3  $ $   $ $s- C0 CCCcttjdtjdft ddfttjdtjdzdffD]\}}t t d|}tddtd d tdd fD]@}|j|}|r td d }n td d}|j|||dBtd d tddfD]@}|j|}|r td d }n td d }|j|||dBdt|jd}tjt|5|tdddddtddtd dftddtddftddtd dffD]{\}}|j|}|r td d } n|} |j||| ddt|jd}tjt|5||ddd}y#1swYxYw#1swYxYw)Nr,r*Fr3Tr r2rerCrfrigg@riz, with these indexers \[-6\.0\] of type floatr0@r raz/ with these indexers \[(2|3)\.5\] of type float)rrrint64rrrZslicer;r'rjrkr5r6rl) r!r oobr>rdr"r$rFres1ress rtest_slice_integerz$TestFloatIndexers.test_slice_integersm 299Qbhh/ 0% 8 ]E " 299Qbhh/"4 5t < @ JE3 uQxu-Ac1 uQ}eCoF 6s #AqkG#AqkG 61gu5 6b! eD#&67 6s #AqkG#BlG 61gu5 6E{++,-  y4 $%c"# $ sAa ,q#a ,sC%1+.  T s1+CC 61c51;//01!! ]]9C8cF' Y@ P $ $.sI#I/#I, /I8 r @cttddtdd}|dd}|jdd}tj||t }d|j d}tjt|5||dddtjt|5|j|dddy#1swY=xYw#1swYyxYw) z]make sure that we are raising on positional indexing w.r.t. an integer index r rpr rez)cannot do (slice|positional) indexing on z/ with these indexers \[(2|4)\.0\] of type floatr0N) rrZrrrYrrkr5r6rl)r!rdr>r"r&rrFs r test_integer_positional_indexingz2TestFloatIndexers.test_integer_positional_indexingLs 5A;eAqk 21Q66!A; vx0 >>"#  ]]9C 0  cF  ]]9C 0  FF3K      s=B?&C ?C Cc ttjjdj d|}t ddt ddt ddfD]s}|j |}t dd}|j|||dd t|jd }tjt| 5||dddut d d t ddfD]/}|j |}|j||t d d d1d t|jd}tjt| 5|t dddddt ddt ddft ddt ddft ddt ddffD]j\}}|j |}|j|||dd t|jd}tjt| 5||dddly#1swYxYw#1swYxYw#1swYxYw)Nr r,r r rIrrNFriz/ with these indexers \[(0|1)\.0\] of type floatr0ir3g$$@Tz- with these indexers \[-10\.0\] of type floatg?rMz+ with these indexers \[0\.5\] of type float) rrrrrrsr;r'rjrkr5r6rl)r!r r>rdr"r$rFrvs r test_slice_integer_frame_getitemz2TestFloatIndexers.test_slice_integer_frame_getitembs< bii++A.>>vFe T#qM5C=%S/B CUU3ZFAqkG JJvq'5 1E{++,-  y4 #   #rNE%$67 8CUU3ZF JJvq%R.$ 7 8  ;''()  ]]9C 0 " eE4 ! " 3]E!QK ( 1c]E!QK ( 3_eAqk *  HC UU3ZF JJvq#u -E{++,-  y4 #   %   " "$  s$HH+ H7H( +H47I c2ttjjdj d|}|j }d|j |<|j |jj}|dk(jsJdt|jd}tjt|5d||<dddtjt|5||dddy#1swY3xYw#1swYyxYw)Nr r|r rrirhr0)rrrrrr8r;valuesravelallrjrkr5r6rl)r!rdr r>scr"rFs r2test_float_slice_getitem_with_integer_index_raiseszDTestFloatIndexers.test_float_slice_getitem_with_integer_index_raisess bii++A.>>vFe TVVXs ##))+!   """ ;''()  ]]9C 0 AcF ]]9C 0  cF      s D2D D  Dcttjddz}t||}|jdd}|||}t |t |sJtj|||j}d|||<|||jj}|dk(jsJy)Nr`g?rCrer) rrrrrrrjr assert_equalr8rrr) r!rdr<r=r r>r&r"r?s rtest_slice_floatz"TestFloatIndexers.test_slice_floatsbiin%+ OU +66!A;As#&$q'*** )VVX 2sB$++113!   """rctgd}ttd|}|ddk(sJ|jddk(sJ|jddk(sJy)N)rMr rCg@r,r,r rCr )rrrZr;r)r!r r>s rtest_floating_index_doc_examplez1TestFloatIndexers.test_floating_index_doc_examplesU)* 585 )tqyyuuQx1}}vvayA~~rc~ttjdtjddztj}||dd}tddg}t j ||||d}|d k(sJ||d}|d k(sJt jtd 5||d dddtd d gtddgtj}ddgtjddgfD]!}t j ||||#td d gtdd gd}dd gtjdd gfD]!}t j ||||#|tjurtnd}d}t j|| 5||d d}ddd||dd} ||dd} ||dd} t j | t j || t j || tdd gddg}t j|| 5||d d}dddt j ||||gd}|jgd} t j || t jtd 5||gddddt jtd 5||gdddd||ddg}t j |tdd gddg||dg}t j |tdgdgy#1swYxYw#1swYxYw#1swY2xYw#1swYxYw#1swYxYw)Nr,rq)r r+rNr2rIr r`r z^4$r0rerr}r*float64z3The behavior of obj\[i:j\] with a float-dtype indexrxg@)r}r,r3)rr rez not in index)g?r,r3)rrIr )rrrrrrrYr5r6r7rrarrayr9rErDr) r!r=r>r"r& fancy_idxwarnrFresult1result2result3result4s rtest_floating_miscz$TestFloatIndexers.test_floating_miscsx 299Q : ( qM, ' (]]8> : % qM) $ %AQx( vvq!fS#J'GHAu% vvqc#'?@_  " ) ) ( ( ( ( % %s<4 N? N  NN'N3N  NN$'N03N<c|}iddddddddd d d dd d ddddddddddddddddddddiddddddd dd!dd"d#d$dd%d&d'dd(d)d*dd+d,d-dd.dd/dd0d1d2did3d4d5dd6d7d8dd9d:d;ddd?d@ddAdBdCddDdEdFddGdHdIddJdKidLddMdNdOdPdQdRdSddTdUdVddWdXdYddZdd[dd\d]d^d_d`dadbddcdddedidfdgdhdPdidjdkddlddmddndodpddqdrdsddtdudvddwdxdydPdzdd{dd|d}id~dddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddddddddddddddddƜ }t||ǫ}|j}|jj|k(sJt |y)Ng"@rIgS@r g8@rCr}regw@r,rpgp@ r3g@ g8@ g@g@Y@g@g "@g{@g@gȆ@ g\@!"g@#$gv@%&g.@'()*g@+,g@-.g@/0g@12g@34g@5gQ@6g0@78g@t@9:g@;<=>g*@?r~@gE@ABg@@CDgV@EFg@GHIJg@KLgu@MNg@OPgw@QRSTgr@UVgx@Wg@Xgv@YZgt@[g"@\]^g@_`gȏ@abg@crWg&@efg@ghijklmnopqrstuvwxyz{|}~g@g6@gp@igh@i i i ii g@g@g8@g`d@g+@g0@g@) i iiiiiir*)r value_countsr r+str)r!float_numpy_dtyper+serr>r"s rtest_floatindex_slicing_bugz-TestFloatIndexers.test_floatindex_slicing_bugs0!V V tV  vV  s V u V s V  uV  sV  sV  sV  V  V  V  V  V !V " #V $ %V & 'V ( )V * +V , -V . /V 0 1V 2 3V 4 5V 6 7V 8 9V : ;V < =V > ?V @ AV B CV D EV F GV H IV J KV L MV N OV P QV R SV T UV V WV X YV Z [V \ ]V ^ _V ` aV b cV d eV f gV h iV j kV l mV n oV p qV r sV t uV v wV x yV z {V | }V ~ V @ AV B CV D EV F GV H IV J KV L MV N OV P QV R SV T UV V WV X YV Z [V \ ]V ^ _V ` aV b cV d eV f gV h iV j kV l mV n oV p qV r sV t uV v wV x yV z {V | }V ~ V @ AV B CV D EV F GV H IV J KV L MV N OV P QV R SV T UV V WV X YV Z [V \ ]V ^ _V ` aV b cV d eV f gV h iV j kV l mV n oV p qV r sV t uV v wV x yV z {V | }V ~ V @ AV B CV D EV F GV H IV J KV L MV N OV P QV RkV r 3e $!||!!U*** F rN)!rk __module__ __qualname__r'r5mark parametrizerlistrr rr@rGrPrrrrrr\r^rcobjectrsrnrwrzrrrrrrrSrrrrsJ 1 [[ $w- $w-z 2 |Q / GQ / q 1   * *2 [[ $w- $w-z 2 |Q / GQ / q 1    ""H [[%  ! BHH5z!}E""""H [[%  ! BHH5z!}E!(F [[ $w-v . |Q / GQ / q 1   [[UU3]E!SM5c?$ST$U$>EN [[UU1c]E#qM5c?$STU* [[%  ! BHH5z!}E11f [[UU3]E!SM5c?$ST [[%  ! BHH5z!}EU, [[UU3]E!SM5c?$ST#U#$DAL_rr)numpyrr5pandasrrrrrrr pandas._testing_testingrrrrSrrr%s0  U U r