gL iddlZddlZddlZddlmZddlm Z ejjddZ ejjdejjdejdgdZdZejjdejdgdZejj$d Zejjd d d gd Zy)N) allow_na_opsz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc |}tj|tdt|dz}|j }t t j|j}t|tjrItjj|}|j|_ tj||dyt|tj rntj ||j"}t|j"tj$r|j'}tj||dytj(|}tj*||y)NTexactdtype)nprepeatrangelenuniquelistdictfromkeysvalues isinstancepd MultiIndex from_tuplesnamestmassert_index_equalIndexr DatetimeTZDtype normalizearrayassert_numpy_array_equal)index_or_series_objobjresult unique_valuesexpecteds c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/base/test_unique.py test_uniquer% s C ))Cq#c(Q,/ 0C ZZ\Fszz23M#r}}%==,,]; fhd; C "88M; cii!3!3 4))+H fhd;88M* ##FH5null_objc  |}t|stjdnWt|dkrtjdn3t |t j rtjd|d|j}||ddt|}tj|tdt|dz}|||j}|j}tj|j }|Dcgc]}t j"|r|} }|g| z} t |t j$r~t j$| |j} t |jt j&r |j)}| j)} t+j,|| d ytj.| |j} t+j0|| ycc}w) N$type doesn't allow for NA operationsrz%Test doesn't make sense on empty dataMultiIndex can't hold ''rrTr)rpytestskipr rrr_valuestyper r r r rrrrisnullrrrrrrr) r'rr rklassrepeated_valuesr!unique_values_rawvalunique_values_not_nullr"r#s r$test_unique_nullr7s C   :; SA ;< C ' -hZq9: [[FF1QK IEiiaVq(ABO syy 1C ZZ\F cjj1.?UcbiiPSncUUJ!77M#rxx 88M; cii!3!3 4%%'F))+H fhd;88M; ##FH5Vs H%Hc |}tj|tdt|dz}t|j }|j d|k(sJy)NrFdropna)r r r r rnunique)rr r#s r$ test_nuniquer<DsO C ))Cq#c(Q,/ 0C3::< H ;;e; $ 00 0r&c |}t|stjdn3t|tj rtjd|d|j }||ddt|}tj|tdt|dz}|||j}t|tjrV|jt|jk(sJ|jd t|jdzk(sJyt|j!}|jt#d|dz k(sJ|jd t#d|k(sJy) Nr)r*r+rr,rrFr9)rr-r.rrrr/r0r r r r r CategoricalIndexr; categoriesrmax)r'rr rr2r3num_unique_valuess r$test_nunique_nullrBKs3 C   :; C ' -hZq9: [[FF1QK IEiiaVq(ABO syy 1C#r**+{{}CNN 3333{{%{(C,?!,CCCC -{{}A'81'< ===={{%{(C3D,EEEEr&cNd}||gdzt}|j}t|tjr5tjdgt}t j ||dytjdgt}t j||y)Nur,rTr) objectrrrrrrr rr)index_or_seriesuvalr r!r#s r$test_unique_bad_unicoderGdsz D 4&1*F 3C ZZ\F#rxx 88XJf5 fhd;88XJf5 ##FH5r&r:TFctjddtjtjdtj g}|j |}|r|dk(sJyy)Nyesr)rSeriesNAr nanNaTr;)r:serress r$test_nunique_dropnarPtsL ))UE255"&&$? @C ++f C3!8$ $18r&)numpyr r-pandasrpandas._testing_testingrpandas.tests.base.commonrmarkfilterwarningsr% parametrizerLr7r<rB single_cpurGrPr&r$r[s 1RS6T6*RSbffd^4 65T 6F1bffd^4F5F0 6 6D%=1%2%r&