gL i'DddlmZmZddlZddlZddlmZddlmZm Z m Z m Z ddl m Zd dZGddZGdd Zy) )copydeepcopyN) is_scalar) DataFrameIndexSeries date_rangec t|trt|g|jz}|t |r]|dk(r/d}t j }|j|jdnt j||}|j|nt j|}|j}||jdz }||jdzdk7r tdt j||j!|}n.t j"j%dj'|}||fd|i|S)z construct an object for the given shape if value is specified use that if its a scalar if value is an array, repeat it as needed Nemptydtyperz!invalid value passed in constructr ) isinstanceinttuple _AXIS_LENrnpfloat64pop_info_axis_namer fillprodravelshape Exceptionrepeatreshaperandom default_rngstandard_normal)boxrvaluer kwargsarrfshape new_shapes g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/generic/test_generic.py constructr(s %ug -.  U   3..5hhuE2WWU^F++-C1-I ! $) CDD))C+33E:Cii##A&66u= s *% *6 **c8eZdZejj dejedDcic]}||jc}}e edDcic]}||jc}}gdZ dZ dZ dZ dZdZd Zd Zejj dgd d Zd ZdZejj deeddgejj dgddZdZycc}}wcc}}w) TestGenericfuncABCDctd}|jD]c}||i}t|dfi|}|jdi||i}|j }t ||tdt j||ey)Nr-abcd)list _AXIS_ORDERSr(renamersetattrtm assert_equal) selfframe_or_seriesr,idxaxisr#objresultexpecteds r' test_renamezTestGeneric.test_rename8s~6l#00 .DC[FOQ9&9C SZZ/4,/FxxzH HdDL 1 OOFH - .r)c jd}t|jDcic]&}|j|tt|(}}t ||fi|}|j }t j|||j}t ||fddi|}t|tr|jdd|_ t j|jd|tjgd}t ||fd|i|}|j }t j||ycc}w)Nr/r"r rT)drop)TTFT)ranger_get_axis_namer2r(_get_numeric_datar6r7_get_bool_datarrcolumns reset_indexrarray) r8r9nir#or=r>r$s r'test_get_numeric_dataz!TestGeneric.test_get_numeric_dataNs ?445   * *1 -tE!H~ =  oq 3F 3$$& "!!#_aIwI&I a # yy!}H  ***5x@hh01 oq > >v >$$& "/ s+D0c^t|d}d|jd}tjt|5t |dk(dddtjt|5t |dk(dddtjt|5t |dddt|dd}tjt|5t |dk(dddtjt|5t |dk(dddtjt|5t |dddt|dt j}tjt|5t |dk(dddtjt|5t |dk(dddtjt|5t |dddt|d}tjt|5t |dddt|dd}t|dd}tjt|5|r dddtjt|5|xr|dddtjt|5|xs|dddtjt|5| dddy#1swYxYw#1swYxYw#1swYoxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw) Nr/rzThe truth value of a z is ambiguousmatchr)rr")r(__name__pytestraises ValueErrorboolrnan)r8r9r<msgobj1obj2s r' test_nonzerozTestGeneric.test_nonzeroisq1%o&>&>%?}M ]]:S 1  N  ]]:S 1  N  ]]:S 1  I q: ]]:S 1  N  ]]:S 1  N  ]]:S 1  I q? ]]:S 1  N  ]]:S 1  N  ]]:S 1  I q1 ]]:S 1  I  ;; ]]:S 1  ]]:S 1  MT  ]]:S 1  LD  ]]:S 1 H  S                             sK<+L  LL# L0> L= M ;M- M$) M14M>N N/N#<L LL #L-0L:=M MM!$M.1M;>N NN #N,cfd}djd}tjt|5|gdddd|d|d|dy#1swY"xYw) Nc"tdd|S)NrQ)rr"r )r()r r9s r'fz;TestGeneric.test_frame_or_series_compound_dtypes..fs_AQeL Lr)z+compound dtypes are not implemented in the z constructorrO))Az datetime64[h])Bstr)Cint32int64rzM8[ns])rRrSrTNotImplementedError)r8r9r_rXs ` r'$test_frame_or_series_compound_dtypesz0TestGeneric.test_frame_or_series_compound_dtypessp M %../| = ]].c : F D E F '  )  (  F Fs AA'c4t|d}d|_t|d}d|_dD]*}t||d}tj||,dD]*}t|||}tj||,dD]\}t|||}tj||tj|||ztj|||z^|j |}tj||||z}tj|dD]k}t|||}t|||}tj|tj||ztj||zmy)Nr^rNfoobar)__add____sub__ __truediv____mul__rQ)__eq____le____ge__)r(namegetattrr6assert_metadata_equivalent combine_first)r8r9rKo2opr=v1v2s r'test_metadata_propagationz%TestGeneric.test_metadata_propagations oQ / a 0C 5B#WQ^A&F  ) )!V 4 5 C 5B#WQ^A&F  ) )!V 4 5 1 6BB"B  ) )!R 0  ) )!R"W 5  ) )!R"W 5  6$ %%a0R %%f-1 3BB"BB#B  ) )" -  ) )"r' 2  ) )"r' 2  3r)ct|d}|jtj|jk(sJ|jdt |j zk(sJy)N rN)r(sizerrrlenaxesr8r9rKs r'test_size_compatzTestGeneric.test_size_compatsN oR 0vv))))vvs166{****r)ct|d}tjtdd5t t j |ddk(sJt t j |ddk(sJ dddy#1swYyxYw)Nr|rNz.swapaxes' is deprecatedF)rPcheck_stacklevelr)r(r6assert_produces_warning FutureWarningr~r array_splitrs r'test_split_compatzTestGeneric.test_split_compatsw oR 0  ' ' !;e  2r~~a+,1 11r~~a+,1 11  2 2 2s A A==Bc4t|d}d}d}tjt|5|j |dddtjt|5|j |dddtjt|5|j |dddtjt|5|j|dddy#1swYxYw#1swYxYw#1swYXxYw#1swYyxYw)Nrz Star Warszunexpected keywordrO)epic)r(rSrT TypeErrormaxvarsumany)r8r9r<starwarserrmsgs r'test_stat_unexpected_keywordz(TestGeneric.test_stat_unexpected_keywords+% ]]9F 3 # GGG " # ]]9F 3 # GGG " # ]]9F 3 # GGG " # ]]9F 3 # GGG " # #  # # # # # # # #s/C*"C6DD*C36C?D D)rcumsumrrct|d}t||}|j|k(sJ|jj |sJy)Nr)r(rsrR __qualname__endswith)r8r,r9r<r_s r'test_api_compatzTestGeneric.test_api_compatsF + C zzT!!!~~&&t,,,r)c\t|d}tjdg}d}tjt |5|j |dddtjt |5|j|dddtjt |5|j|dddtjt |5|j|dddy#1swYxYw#1swYxYw#1swYXxYw#1swYyxYw)Nrr$the 'out' parameter is not supportedrOout) r(rrHrSrTrUrrrr)r8r9r<rrs r'test_stat_non_defaults_argsz'TestGeneric.test_stat_non_defaults_args s+hhsm7 ]]:V 4  GGG   ]]:V 4  GGG   ]]:V 4  GGG   ]]:V 4  GGG            s0C>6D ,D"D">D DD"D+cddgdg|jdz zz}t||dd}tj|j |tj|j dd|tj|j dd |d gdg|jdz zz}t||dd}tj|j |tj|j dd |tj|j dd |y) NirQint8)r r"rgp@)beforeafterg@@ig`FAg>A)rr(r6r7truncate)r8r9rsmallbigs r'test_truncate_out_of_boundsz'TestGeneric.test_truncate_out_of_boundss1#!:!:Q!>?@/5aH (%0 as;UC bzTestGeneric.+s166u6#5r)c&|jdS)NTrrrs r'rzTestGeneric.+sTARr)r)rrQrcdt||}||}||usJtj||yN)r(r6r7)r8r9rr,r<obj_copys r'test_copy_and_deepcopyz"TestGeneric.test_copy_and_deepcopy)s5/9s""" #&r)c|}d}tjt|5|j}ddd|jusJy#1swYxYw)Nz&(Series|DataFrame)._data is deprecatedrO)r6rDeprecationWarning_data_mgr)r8r9r<rXmgrs r'test_data_deprecatedz TestGeneric.test_data_deprecated5sN6  ' '(:# F ))C chh  s A  AN)rR __module__rrSmark parametrizerblowerr2rr?rLr[rgrzrrrrrrrrrr).0rs00r'r+r+7s# [[ II#'< 0aQ \ 0 $v,7QAqwwyL7 8  . .#6/b(03d+2 # [[V%DE-F- A" [[ x57RS [[Wi0'1  's 17s DDr+ceZdZejj deedejeedDcgc] }t|c}}}e gdZ dZ dZdZdZd Zd Zejj deedejeedDcgc] }t|c}}}e gd Zd Zd Zejj deedejeedDcgc] }t|c}}}e gdZdZdZdZdZddZycc}}}wcc}}}wcc}}}w) TestNDFrameserr|r cLtj|j|yr)r6assert_series_equalsqueezer8rs r'test_squeeze_series_noopz$TestNDFrame.test_squeeze_series_noop@s s{{}c2r)cttjd}tj|j |y)Nr)rreyer6assert_frame_equalrr8dfs r'test_squeeze_frame_noopz#TestNDFrame.test_squeeze_frame_noopKs* rvvay ! bjjlB/r)c 0ttjjdj dt t dttddd jd g }tj|j|d y) Nrr|r/r-r 2000-01-01r|raperiodsfreqrFindexr`rF) rrrrr rr2objectr reindexr6rrrs r'test_squeeze_frame_reindexz&TestNDFrame.test_squeeze_frame_reindexPsr  II ! !! $ 4 4W =$v,f5\2C@  '3%' rzz|RW5r)ctgdtj}t|g}t j ||j t j ||j y)Nfive)rrr )rrrrr6rr)r8 empty_series empty_frames r'test_squeeze_0_len_dimz"TestNDFrame.test_squeeze_0_len_dimYsRbvRZZ@ /  |\-A-A-CD |[-@-@-BCr)c ttjjdj dt t dttddd jddddf}|jd k(sJtj|jd |jd tj|jd |jd tj|jd |jddd ftj|jd |jddd f|j|jdk(sJd}tjt |5|jd dddd}tjt |5|jd dddy#1swYBxYw#1swYyxYw)Nr)rQr/r-r rrQrarr)rQrQrr;rrF)rrz)No axis named 2 for object type DataFramerOz)No axis named x for object type DataFramer)rrrrr rr2rr ilocrr6rrrSrTrU)r8rrXs r'test_squeeze_axiszTestNDFrame.test_squeeze_axis`s  II ! !! $ 4 4V <$v,f5\13?  $q"1"u  xx6!!! rzzqz12771:> rzzwz7D rzzqz12771a4=A rzzyz92771a4=Izz|rwwt},,,9 ]]:S 1  JJAJ  9 ]]:S 1 ! JJCJ  ! !   ! !sG*G6*G36G?c  ttjjdj dt t dttddd }tj|jd |y) Nr)r^r/r-r rr^rarrrr) rrrrr rr2rr r6rrrs r'test_squeeze_axis_len_3z#TestNDFrame.test_squeeze_axis_len_3ts`  II ! !! $ 4 4V <$v,f5\13?  bjjaj0"5r)c ttdtj}t j tj ||ttjjdjdttdttddd jd g }t j tj ||d y) Nrr rr-rr|rarrr`r)rrBrrr6rrrrrr rr2rr r)r8srs r'test_numpy_squeezezTestNDFrame.test_numpy_squeeze|s 582:: . rzz!}a0  II ! !! $ 4 4W =$v,f5\2C@  '3%' rzz"~r#w7r)cLtj|j|yr)r6r transposers r'test_transpose_seriesz!TestNDFrame.test_transpose_seriess s}}4r)c $ttjjdj dt t dttddd }tj|jj|y) Nrrr-r rr|rarr) rrrrr rr2rr r6rrrs r'test_transpose_framez TestNDFrame.test_transpose_framesd  II ! !! $ 4 4W =$v,f5\2C@  blln668"=r)c Xttjjdj dt t dttddd }tj||}|tur)tjtj||tjtjtj||d }tj t"| 5tj|d dddy#1swYyxYw)Nrrr-r rr|rarrz%the 'axes' parameter is not supportedrOrQ)r)rrrrr rr2rr r6get_objrrrr7rSrTrU)r8r9r<rXs r'test_numpy_transposez TestNDFrame.test_numpy_transposes II ! !! $ 4 4W =$v,f5\2C@  jjo. f $  " "2<<#4c :  R\\#%67=5 ]]:S 1 & LL1 % & & &s ?D  D)cgd}|j|}t|jj||jj||j}t j ||y)NrQrr^r)datarr )takervaluesrr r6r)r8rindicesrr>s r'test_take_serieszTestNDFrame.test_take_seriessZ'hhw)))..)))  sH-r)c gd}ttjjdj dt t dttddd  }|j|}t|jj|d |jj||j }tj||y)Nrrrr-r rr|rarrrr)rrrF)rrrrr rr2rr rrrrFr6r)r8rrrr>s r'test_take_framezTestNDFrame.test_take_frames&  II ! !! $ 4 4W =$v,f5\2C@  ggga0((--(JJ  c8,r)cgd}ttd}tj||}d}t j t |5|j|ddddd}t j t|5|j||dddd }t j t|5|j|d dddy#1swY|xYw#1swYOxYw#1swYyxYw) N)rrrQrz1take\(\) got an unexpected keyword argument 'foo'rOr)rirrz%the 'mode' parameter is not supportedclip)mode) rrBr6rrSrTrrrU)r8r9rr<rXs r'test_take_invalid_kwargsz$TestNDFrame.test_take_invalid_kwargssa!jjo.B ]]9C 0 % HHW!H $ %5 ]]:S 1 + HHW'H * +6 ]]:S 1 + HHW6H * + + % % + + + +s$ CC'>C3C$'C03C<cB|}|t}|jj}|D]q}|j||j|k(sJ|j ||j |k(sJ|j ||j |k(rqJy)Nr )r_AXIS_TO_AXIS_NUMBERkeys_get_axis_numberrC_get_block_manager_axis)r8r9r!r<rvs r'test_axis_classmethodsz"TestNDFrame.test_axis_classmethodss))..0 TA''*c.B.B1.EE EE%%a(C,>,>q,AA AA..q1S5P5PQR5SS SS Tr)ctddg}|tur|j}|j|jusJ|j }|j|jusJy)NrQr)rrto_frameflagsr)r8r9r<rZs r'test_flags_identityzTestNDFrame.test_flags_identitysYaVn i ',,.CyyCII%%%xxzzz***r)Ncd}tjt|5tddgij dddy#1swYyxYw)NzPDataFrame.bool is now deprecated and will be removed in future version of pandasrOcolF)r6rrrrV)r8msg_warns r' test_bool_depzTestNDFrame.test_bool_depsK *  ' ' X F / uug& ' , , . / / /s AA )returnN)rRrrrSrrrrBrrrbrrrrrrrrrrrrrrrrr )rrJrbs000r'rr=sn [[ 59BJJ / E"I..qCF.f = 330 6D!(6 8 [[ 59BJJ / E"I..qCF.f = 55>&& [[ 59BJJ / E"I..qCF.f = .. -+$T+/[/N/L/sE9E$$E+r)NN)rrnumpyrrSpandas.core.dtypes.commonrpandasrrrr pandas._testing_testingr6r(r+rr1r)r'rsC  /  +@CCL{/{/r)