'Vfi3VddlmZddlZddlZddlZddlmZddlmZ m Z ddl m Z mZmZmZmZddlmZddlZddlmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'ddl(m)Z*ddl+m,cm-Zddl.m/Z/m0Z0ddl1m,cm2Z3Gd d Z4Gd d Z5d Z6GddZ7GddZ8GddZ9GddZ:GddZ;GddZ<GddZ=ej>?dej@ej@gdZAdS))datetimeN)using_string_dtype)algos hashtable) is_bool_dtypeis_complex_dtypeis_float_dtypeis_integer_dtypeis_object_dtype)CategoricalDtype) CategoricalCategoricalIndex DataFrame DatetimeIndexIndex IntervalIndex MultiIndexNaTPeriod PeriodIndexSeries Timedelta Timestampcut date_rangetimedelta_range to_datetime to_timedelta) DatetimeArrayTimedeltaArrayc  eZdZdZejeddejdddgdZ dZ d Z d Z d Z d Zd ZdZdZdZejdgdgdgdfgdgdgdfgdgdgdfgdZdZdZdZdZdZd Zd!Zd"Zejdddgd#Zejdddgd$Zd%Zejd&ej gd'd()ej gd*d+)ej gd,d-)gd.Z!ejd/ej gd0d()d1fej gd2d()d3fej gd4d+)d5fej gd6d+)d3fej gd7e")d8fej gd9e")d:fej gd;e")dej gd?e")ej d@d8ge")fe$j dAd3ej%dAgdB)e$j dAd3gdB)fgdCdDgEdFZ&ejdgdGej gdHej'dI)ej d8ej%d@ge")fd8ej%d@d8gej gdHej'dI)ej d8ej%d@ge")fgdJZ(ejdgdKej gd0ej'dI)ej d3ej%dAgdL)fd3ej%d3dAgej gd0ej'dI)ej d3ej%dAgej))fgdMZ*ejde+e,gdNej gdOej-)e.d8d@gd8d@gdPQfe/e,gdNej gdOej-)e.d8d@gd8d@gdPQfe/e0dRdRgdSTej d1d1gej-)e0dRgdSTfgdUZ1dVZ2dWS)X TestFactorizecxgd}d}tjt|5tj|\}}dddn #1swxYwYt jgdt j}tj||t jgdt}tj||dS)N)@?0factorize with argument that is not not a Seriesmatch)rr$r%dtype)?y@r&) tmassert_produces_warning FutureWarningr factorizenparrayintpassert_numpy_array_equalobject)selfr2msglabelsuniquesexpected_labelsexpected_uniquess Fc:\PYTHON\DbComparer\venv\Lib\site-packages\pandas/tests/test_algos.pytest_factorize_complexz$TestFactorize.test_factorize_complex6s@  ' S A A A 5 5#oe44OFG 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5(999BG<<< #FO<<<8$B$B$B&QQQ #G-=>>>>>sAA  A zTODO(infer_string)F)reasonstrictsortTc |}||\}}t}t|tr tj}|}|jtjkr| tj }||}t|tr:|jtkr*|jtkr| t}|r| }t| fd|D} tj| tj} t#j|| t#j||ddS)Nr@c:g|]}|S)index).0valexpected_uniques_lists r< z0TestFactorize.test_factorize..^s(JJJs/55c::JJJr*Texact)r0r isinstancer from_tuplesuniquer+r1float16astypefloat32boolr5 sort_valueslistasarrayr3r-r4assert_index_equal) r6index_or_series_objr@obj result_codesresult_uniques constructor expected_arrr;expected_codesrHs @r<test_factorizezTestFactorize.test_factorizeDsP"'*}}$}'?'?$ n c: & & 1$0Kzz||   + +'..rz::L&;|44 sE " " ? &$.. V##/66v>>   >/;;== !%%5 6 6JJJJcJJJN"'BBB #L.AAA n.>dKKKKKKrJcjtjdddtjg}t|}|d\}}tjgdtj}t ddtjg}tj||tj ||dS) Nr$r%Fuse_na_sentinelrr$rr%r*?@) r1r2nanrr0r3rr-r4rW)r6valuessercodesr9r^r;s r<+test_series_factorize_use_na_sentinel_falsez9TestFactorize.test_series_factorize_use_na_sentinel_falseds1aBF+,,Vnnu==w,,,bg>>> #sBF!344 #E>::: g'788888rJcftjgdt}tj|\}}t j|tjgdttj|d\}}tjgdtj}t j||tjgdt}t j||tjdtjddd}tj|\}}tjgd tj}t j||tjgd |j }t j||tj|d\}}tjgd tj}t j||tjgd |j }t j||tjd ddd}tj|\}}tjgd tj}t j||tjgd |j }t j||tj|d\}}tjgd tj}t j||tjgd |j }t j||dS)N)abrmrlrlcrnrnr*rlrmrnTrB)rr$r$rrr%r%r%)rr$r%)rsrrr%r$r@)@@rerd)rwrdrervru) r1r2r5rr0r-r4r3aranger+)r6itemsrir9exparrs r< test_basiczTestFactorize.test_basicpsAAAPPP//w #GRXoooV-T-T-TUUUT:::wh///rw??? #E3///hf555 #GS111i)))$$B$/--whbg666 #E3///hci888 #GS1114888whbg666 #E3///hci888 #GS111innTTrT"--whbg666 #E3///h000 BBB #GS1114888whbg666 #E3///h000 BBB #GS11111rJc\tddtjddtjg}t j|\}}tjgdtj}tj ||tdddtjg}tj ||t j|d\}}tjgdtj}tj ||tdtjddg}tj ||dS) NABgQ @)rrrqr$r%rrr*TrB)r%r%rqrrrr$) rr1rfinfrr0r2r3r-r4rrW)r6xrir9rzs r< test_mixedzTestFactorize.test_mixeds Cbfc48 9 9++wh***"'::: #E3///S#tRV,-- gs+++666wh***"'::: #E3///T263,-- gs+++++rJc@td}td}t||||||g}tj|\}}t jgdtj}tj||t||g}tj ||tj|d\}}t jgdtj}tj||t||g}tj ||dS)Nz20130101 09:00:00.0000420130101rrrr$r$rr*TrB)r$r$r$rrr$) rrrr0r1r2r3r-r4rrWr6v1v2rrir9rzs r<test_factorize_datetime64z'TestFactorize.test_factorize_datetime64s 0 1 1 z " " BBB+ , ,++wh)))999 #E3///RH%% gs+++666wh)))999 #E3///RH%% gs+++++rJc@tdd}tdd}t||||||g}tj|\}}t jgdtj}tj||tj |t||gtj|d\}}t jgdtj}tj||tj |t||gdS) N201302Mfreq201303rr*TrB) rrrr0r1r2r3r-r4rWrrs r<test_factorize_periodz#TestFactorize.test_factorize_periods H3 ' ' ' H3 ' ' ' BBB+ , ,++wh)))999 #E3/// g{B8'<'<===666wh)))999 #E3/// g{B8'<'<=====rJc :td}td}t|||||||g}tj|\}}t jgdtj}tj||tj |t||gtj|d\}}t jgdtj}tj||tj |t||gdS)Nz 1 day 1 min1 day)rr$rrr$r$rr*TrB)r$rr$r$rrr$) rrrr0r1r2r3r-r4rWrs r<test_factorize_timedeltaz&TestFactorize.test_factorize_timedeltas - ( ( ' " " BBBB/ 0 0++wh,,,BG<<< #E3/// g|RH'='=>>>666wh,,,BG<<< #E3/// g|RH'='=>>>>>rJctjdddtjgd}tjt |}dD]}|||}tjddd|gtj}t t|t t|ksJtj tj |||ktj ||dS)Nr$r%Or*)rq) na_sentinelr) r1r2rfhtObjectFactorizerlenr0r3setr-r4pdisna)r6keyrizerridsexpecteds r<test_factorize_nanz TestFactorize.test_factorize_nansh1a(444#CHH--# 7 7K//#;/??CxAq+ 6bgFFFHs3xx==CH $6$66666  ' h+6M N N N  'X 6 6 6 6  7 7rJctjgdd}tjgd}tjt |}|||}tjgdtj}tj||tjgdd}tj|j |dS)N)r$r%rrr$r$rint64r*)FFFFFT)mask)rr$r%rrrqr$r%rr) r1r2rInt64Factorizerrr0r3r-r4r9to_array)r6datarrresultrr;s r<test_factorizer_with_maskz'TestFactorize.test_factorizer_with_masksx***':::xAAABB"3t99--D118///rw??? #FH5558IIIW=== #EM$:$:$<$<>NOOOOOrJctjddddtjg}tjt |}||t}tjgdtj }tj ||tjgdt}tj |j |dS)Nr$r%rr)rr$r%rrqr*r)r1r2rfrrrr0rQr5r3r-r4r9r)r6rrrrr;s r<test_factorizer_object_with_nanz-TestFactorize.test_factorizer_object_with_nansxAq!RV,--#CII..V!4!4558,,,BG<<< #FH5558IIIV<<< #EM$:$:$<$<>NOOOOOrJz&data, expected_codes, expected_uniques)r$r$r$r%rrrnonsense)rr$r%r$rr)rrrr)rrrrr)rrrr)rrrr)rr$r%r$)rrrcdd}tjt|5tj|\}}dddn #1swxYwYtj|t j|t jtj |t}tj||dS)Nr'r(r*) r-r.r/rr0r4r1r2r3comasarray_tuplesafer5)r6rr^r;r7rir9expected_uniques_arrays r<test_factorize_tuple_listz'TestFactorize.test_factorize_tuple_lists$A  ' S A A A 0 0\$//NE7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #E28N"'+R+R+RSSS!$!67Gv!V!V!V #G-CDDDDDsAA ActjdtdDt}d}t jt |5tj|ddddddddS#1swxYwYdS) Nc,g|]}t|SrD)complexrFis r<rIz6TestFactorize.test_complex_sorting..s666q 666rJr*z,'[<>]' not supported between instances of .*r(rqTrB) r1r2ranger5pytestraises TypeErrorrr0)r6x17r7s r<test_complex_sortingz"TestFactorize.test_complex_sortingsh66E"II666fEEE< ]9C 0 0 0 2 2 OC"ID 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s A==BBc0|}tjgd|}tjgdtj}tjddg|}tj|\}}t j||t j||dS)N)r$r%r%r$r*)rr$r$rr$r%)r1r2r3rr0r-r4)r6any_real_numpy_dtyper+rr^r;rir9s r<test_numeric_dtype_factorizez*TestFactorize.test_numeric_dtype_factorizes$x E222,,,bg>>>8QF%888..w #E>::: #G-=>>>>>rJctjgdtj}||tjgdtj}tjgdtj}t j|\}}tj||tj||dS)N)rdחArd:0yE>rrdr*write)rr$rr%r$r)rdrr) r1r2float64setflagsr3rr0r-r4r6writablerr^r;rir9s r<test_float64_factorizez$TestFactorize.test_float64_factorize)sx777rzJJJ H %%%"4"4"4BGDDD8$4$4$4BJGGG..w #E>::: #G-=>>>>>rJctjgdtj}||tjgdtj}tjddgtj}t j|\}}tj||tj||dS)N)r$rr*rrr$rrr$) r1r2uint64rr3rr0r-r4rs r<test_uint64_factorizez#TestFactorize.test_uint64_factorize3sx111CCC H %%%)))27;;;8YN")DDD..w #E>::: #G-=>>>>>rJctjgdtj}||tjgdtj}tjddgtj}t j|\}}tj||tj||dS)N)rr*rrrr) r1r2rrr3rr0r-r4rs r<test_int64_factorizez"TestFactorize.test_int64_factorize=sx888III H %%%)))27;;;8Y$9JJJ..w #E>::: #G-=>>>>>rJcltjgdt}||tjgdtj}tjgdt}t j|\}}tj||tj||dS)N)rlrnrlrmrnr*r)rr$rr%r$rlrnrm) r1r2r5rr3rr0r-r4rs r<test_string_factorizez#TestFactorize.test_string_factorizeGsx111@@@ H %%%///AAA8OOO6BBB..w #E>::: #G-=>>>>>rJc tjdddtjddtdgt}||tjgdtj}tjgdt}tj|\}}tj ||tj ||dS)Nrlrnrmr*r)rr$rqrqrr%rqr$r) r1r2rfrr5rr3rr0r-r4rs r<test_object_factorizez#TestFactorize.test_object_factorizeQsxc4c3DFSSS H %%%"="="=RWMMM8OOO6BBB..w #E>::: #G-=>>>>>rJcvtjtjdgd}||tjdgtj}tjdgd}t j|\}}tj||tj||dS)Nz2020-01-01T00:00:00.000M8[ns]r*rrz2020-01-01T00:00:00.000000000zdatetime64[ns]) r1r2 datetime64rr3rr0r-r4rs r<test_datetime64_factorizez'TestFactorize.test_datetime64_factorize[sx'@AAB(SSS H %%%1#RW5558 , -5E   d++w #E>::: #G-=>>>>>rJc tjtd}t jdtj|f}tj||}tj |d|dtj |d|dd||}tj |d|dtj |d|dddS)N r*rBrr$TrK r RangeIndex from_rangerr1rxr3rr0r-r4rW)r6r@rirrs r<test_factorize_rangeindexz'TestFactorize.test_factorize_rangeindexhs] % %eBii 0 09Rrw///3$/// #F1Ix{;;; fQi!DAAAA4(( #F1Ix{;;; fQi!DAAAAAArJc|tjtd}t jdtj|f}|ddd}|d|f}|r"|dddd|ddddf}tj||}tj |d|dtj |d|dd||}tj |d|dtj |d|dddS) Nrr*rqrr$rBTrKr)r6r@rrri2rs r<$test_factorize_rangeindex_decreasingz2TestFactorize.test_factorize_rangeindex_decreasingvs*] % %eBii 0 09Rrw///32hA;#  <{44R4((1+ddd*;;H4000 #F1Ix{;;; fQi!DAAAAD)) #F1Ix{;;; fQi!DAAAAAArJc^tjgdtj}tjt d5t j|ddddn #1swxYwYtj d5t j|ddddS#1swxYwYdS)N)r$rr*zgot an unexpected keywordr(T)orderF) r1r2rrrrrr0r-r.)r6rs r<test_deprecate_orderz"TestFactorize.test_deprecate_orders&x)));;; ]9,G H H H . . OD - - - - . . . . . . . . . . . . . . .  ' . . " " OD ! ! ! " " " " " " " " " " " " " " " " " "s#A!!A%(A%B""B&)B&rru8r*)rr$ri8)__nan__foorr5ctj|\}}|ddg}tjgdtj}t j||t j||dS)Nrr$rr*)rr0r1r2r3r-r4)r6rrir9r;r^s r<,test_parametrized_factorize_na_value_defaultz:TestFactorize.test_parametrized_factorize_na_value_defaultsl..wA<)))27;;; #E>::: #G-=>>>>>rJzdata, na_valuercr)r$rr$r%r$)rr$rrr)r$rr$r)rlrlrmrl)rDrlr$rDrlr%rD)rrDrrrctj||\}}|ddg}tjgdtj}t j||t j||dS)N)na_valuer$rr)rqrrqr$r*)rfactorize_arrayr1r2r3r-r4)r6rrrir9r;r^s r<$test_parametrized_factorize_na_valuez2TestFactorize.test_parametrized_factorize_na_valuesr.thGGGwA<...@@@ #E>::: #G-=>>>>>rJz data, uniques)rmrlNrmrmr%Int64 numpy_arrayextension_array)rctj||d\}}|r7tjgdtj}tj|}n$tjgdtj}|}t j||t|tj rt j||dSt j ||dS)NT)r@rb)r$rrqr$r*)rr$rqr) rr0r1r2r3 safe_sortr-r4rMndarrayassert_extension_array_equal)r6r@rr9rir^r;s r<test_factorize_use_na_sentinelz,TestFactorize.test_factorize_use_na_sentinels D$OOOw  'Xmmm27CCCN$w77  Xmmm27CCCN&  #E>::: dBJ ' ' G  '1A B B B B B  +G5E F F F F FrJ)rlNrmrlrr$r%rr3ctjtj|td\}}t j||dt j||ddS)Nr*FraT strict_nan)rr0r1r2r5r-r4r6rr^r;rir9s r<+test_object_factorize_use_na_sentinel_falsez9TestFactorize.test_object_factorize_use_na_sentinel_falsesk$ HT ( ( (%   w #G-=$OOOO #E>dKKKKKKrJ)r$Nr$r%rcd}tjt|5tj|d\}}dddn #1swxYwYtj||dtj||ddS)Nr'r(FraTr)r-r.r/rr0r4)r6rr^r;r7rir9s r<(test_int_factorize_use_na_sentinel_falsez6TestFactorize.test_int_factorize_use_na_sentinel_falses$A  ' S A A A J J"_T5IIINE7 J J J J J J J J J J J J J J J #G-=$OOOO #E>dKKKKKKsAA A)rlrlrm)rrr$category) categoriesr+2017 US/Easterntzctj|\}}tj||tj||dS)N)rr0r-r4rWr s r<test_factorize_mixed_valuesz)TestFactorize.test_factorize_mixed_valuessD,..w #E>::: g'788888rJctdtjdg|}tdtjdg|}t j||}|\}}|jd|dksJtd|}t j||z ||z }|\} } | jd|dksJt j| d | d } | \} } | jd|d ksJdS) N 2016-01-01z 2015-10-11z 2016-01-02z 2015-10-15zinterval[datetime64[z ], right]rzinterval[timedelta64[ US/Pacificz, US/Pacific], right]) rr1rfas_unitr from_arraysr0r+r tz_localize)r6unitleftrightidxricatstsidx2codes2cats2idx3codes3cats3s r< test_factorize_interval_non_nanoz.TestFactorize.test_factorize_interval_non_nanos^lBFLABBJJ4PP|RV\BCCKKDQQ'e44mmoo tzCDCCCCCCC q\\ ! !$ ' '(EBJ??(( {EdEEEEEEE(   \ * *E,=,=l,K,K  (( {PTPPPPPPPPPrJN)3__name__ __module__ __qualname__r=rmarkxfailr parametrizer_rjr|rrrrrrrrrrrrrrrrrrrr1r2rr5rrrfrr+r rr rr r3rrrrr'rDrJr<r"r"5s0 ? ? ? [))++4HQVWW [VdE]33LL43XWL< 9 9 9%2%2%2N,,, ,,,$>>>" ? ? ? 7 7 7 P P PPPP [0=<<444  <;;333  . - -|||=U=U=U V  E E! E222 ? ? ???????????????? ? ? ? [VdE]33 B B43 B [VdE]33BB43B$""" [ BHYYYd + + + BH,,,D 9 9 9 BH222( C C C ??? [ RXlll$ / / / 3 RXlll$ / / / 3 RX000 = = =x H RX))) 6 6 6 : RX))) 8 8 8# > RX222& A A A2 F RX888 G G G R   ??  ? [VdE]33 [...f===#s6222  !Q*':::!Qw///  - .   G G  43 G [0&%%XRXf-=-=>>>#rvs+6:::  bfc3'XRXf-=-=>>>#rvs+6:::  LLL [0 XRXf-=-=>>>!RVQs333  BFAq!XRXf-=-=>>>!RVQrz:::  LLL [0kk///2233"'222  #sc *UUU  {{???3344"'222  #sc *UUU  }}ff%5,GGGHH!Qrw/// vh<888  (99)(9 QQQQQrJr"c |eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZejddejddgefdejdgefgdZdZdZdZejdejegdZdZdZ d S)! TestUniquectjdddd}t j|}t |tjsJdS)Nr%rd2size)r1random default_rngintegersrrOrMrr6r{rs r< test_intszTestUnique.test_ints3sYi##A&&//3R/@@c""&"*-------rJctjddddd}t j|}t|tjsJdS)Nr%rr1r2r3r) r1r5r6r7rQrrOrMrr8s r< test_objectszTestUnique.test_objects9sgi##A&&//3R/@@GGLLc""&"*-------rJctjgdt}tdD]#}t t j|$dS)N)r~rCDEr*)r1r2r5rrrrO)r6lstrs r<test_object_refcount_bugz#TestUnique.test_object_refcount_bug?sWh000???t # #A  S!! " " " " # #rJctjtjddtjtjddg}|j}||d}tj |}|tj ||dS)Nrpr%) rrr1rxrepeattilergr@rrOr-assert_almost_equal)r6mindexrrs r<test_on_index_objectzTestUnique.test_on_index_objectDs' Yq\\  # #RWRYq\\1%=%= >  = q!!6""  vx00000rJcH|tjtjzvr gd}ddg}nt|r gd}ddg}nt |r gd}ddg}nt |rPt ddt ddt ddg}t ddt ddg}n8t|r gd}dd g}n t|r gd }d d g}ngd}ddg}t||  }tj || }|tjvr| t}|jjdvr2t#|t$t&fsJtj |}tj||dS)N)r$r%r%r$r%rdrerTTFTF)r~rrr~rr*)mr)r- BYTES_DTYPES STRING_DTYPESr r rrrr rrOr1r2rQr5r+kindrMrr r4)r6any_numpy_dtyperr9rrs r<test_dtype_preservationz"TestUnique.test_dtype_preservationRs r1AA B B99D!fGG o . . 99D!fGG O , , 99DCjGG o . . AqMM71a=='!Q--@Dq!}}gamm4GG ? + + &&&DUmGG _ - - "??DCjGG99D!fGO444;;==8G?;;; b. . .v..H > * , ,f}n&EFF F FFXf%%F #FH55555rJctjddgd}tgd}tj|}t j|||j|jksJt|}tj|}t j|||j|jksJ|j }tj|}t j|||j|jksJdS)N2015-01-03T00:00:00.0000000002015-01-01T00:00:00.000000000rr*)rRrSrS) r1r2rrrOr-r4r+rrg)r6rdt_indexrsr{s r<$test_datetime64_dtype_array_returnedz/TestUnique.test_datetime64_dtype_array_returnedws8//          h'' #FH555|x~---- 8  a #FH555|x~----hc"" #FH555|x~------rJctjgdd}tj|}tjddgd}t j||dS)N2000rY2001z datetime64[s]r*rYrZr1r2rrOr-r4r6rlrrs r<test_datetime_non_nszTestUnique.test_datetime_non_nss\ H---_ E E E18VV,ODDD #FH55555rJctjgdd}tj|}tjddgd}t j||dS)NrXztimedelta64[s]r*iir[r\s r<test_timedelta_non_nsz TestUnique.test_timedelta_non_nss] H---5E F F F18T4L0@AAA #FH55555rJctjgdd}tgd}tj|}t j|||j|jksJt|}tj|}t j|||j|jksJ|j }tj|}t j|||j|jksJdS)N)yn'm8[ns]r*)rarbrarcrb) r1r2rrrOr-r4r+rrg)r6rtd_indexrrUr{s r<%test_timedelta64_dtype_array_returnedz0TestUnique.test_timedelta64_dtype_array_returneds8111BBB C C CDDh'' #FH555|x~---- 8  a #FH555|x~----hc"" #FH555|x~------rJctgdtj}tjgdtj}t jt j||dS)N)r$r%rrr*)r$r%r)rr1rr2r-r4rrO)r6rUrzs r<test_uint64_overflowzTestUnique.test_uint64_overflowsX '''ry 9 9 9h}}}BI666 #ELOOS99999rJcdtjddg}tjtj|t }tjdtjdgt }t j||dS)Nrlrnr*)r1rfrrOr2r5r-r4)r6duplicated_itemsrrs r<test_nan_in_object_arrayz#TestUnique.test_nan_in_object_arrayshc228$4FCCCDD8S"&#.f=== #FH55555rJc~ttd}ttdtdd}ttd}|}tj||t j|}tj||ttdd}|}tj||t j|}tj||t ttdd}|}tj||tj|}tj||tttdtd }t|}|}tj ||tj|}tj ||dS) NbacabcTrorderedbaabcrprnamer) r rUrOr-assert_categorical_equalrrrrrW)r6r expected_ornrrUcis r<test_categoricalzTestUnique.test_categoricalstE{{++!eedSSS  W & & #FH555a #FH555 W t 4 4 4 #FJ777a #FJ777 ;tG}}--E : : : #FH5551 #FH555k$w--DKKPPP Q Q#H-- fh///2 fh/////rJcTttddtddg|}t|}|}|ddj}t j|||}|dd}t j||tj|}|ddj}t j||tj|}|dd}t j||dS)N20160101rrr$) rrrrrO_datar-rrWr)r6rdtirhrrs r<test_datetime64tz_awarez"TestUnique.test_datetime64tz_awares*666*666   '$-- Skkrr7= '999rr7 fh///3rr7= '9993rr7 fh/////rJc 2tjtgd}tj|t jgddtjtdgdgdzz}tj|t jddgdd}tjt| 5tjtd }dddn #1swxYwYt jgd t}tj||tjtttd }ttd }tj ||dS) N)r%r$rrrr)r%r$rrrr*r%r$rpz5unique with argument that is not not a Series, Index,r(aabcrorn) rrOrr-r4r1r2r.r/rUr5r rv)r6rr7rs r<test_order_of_appearancez#TestUnique.test_order_of_appearances6,,,//00 #FBHYYYg,N,N,NOOO61#a-0011 #FBHaV7,K,K,KLLLE  ' S A A A - -YtF||,,F - - - - - - - - - - - - - - -8OOO6::: #FH5556+d6ll";";<<==tE{{++ #FH55555s"C..C25C2cttdtdgj|}t j|}t jdgd|d}tj ||dS)Nr{z2016-01-01T00:00:00.000000000zM8[]r*) rrdtrrrOr1r2r-r4)r6rrhrrs r<test_order_of_appearance_dt64z(TestUnique.test_order_of_appearance_dt64s|i ++Yz-B-BCDDGOOPTUU38<=]4]]]SSS #FH55555rJc ttddtddg|}tj|}tdgd|dd}t j||dS)Nr{rrz2016-01-01 00:00:00z datetime64[z , US/Eastern])r+r)rrrrrOr-rW)r6rr}rrs r<test_order_of_appearance_dt64tzz*TestUnique.test_order_of_appearance_dt64tzs*666*666   '$-- 3 " #+L+L+L+LSW    fh/////rJz arg ,expected)1r2rrr*)rrcd}tjt|5tj|}dddn #1swxYwYtj||dSN-unique with argument that is not not a Seriesr(r-r.r/rrOr4)r6argrr7rs r<test_tuple_with_stringsz"TestUnique.test_tuple_with_strings+s>  ' S A A A $ $Ys^^F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ #FH55555?AActjddgt}tj|}tjddgt}t j||ddS)Nrr*Tr)r1r2r5rrOr-r4r6r{rrs r<test_obj_none_preservationz%TestUnique.test_obj_none_preservation9s]ht}F33338UDM888 #FHFFFFFFrJctjddg}tj|}tjdg}t j||dS)Ngrwr[r\s r<test_signed_zerozTestUnique.test_signed_zeroAsL HdC[ ! !18TF## #FH55555rJctjdtjddd}tjdtjddd}||ksJ||ksJtj||g}t j|}tjtjg}tj ||dS)Nd=Qr) structunpackpackr1r2rrOrfr-r4)r6NAN1NAN2rlrrs r<test_different_nanszTestUnique.test_different_nansHs}S&+d4F"G"GHHK}S&+d4F"G"GHHKt||||t|||| HdD\ " "18RVH%% #FH55555rJel_typecd}d}tjdtjd|d}tjdtjd|d}||ksJ||ksJtj||g|}t j|}|jdksJtjdtjd|dd}||ksJdS)Nlrrrrr*r$)rrrr1r2rrOr4) r6r bits_for_nan1 bits_for_nan2rrrlrresult_nan_bitss r<test_first_nan_keptzTestUnique.test_first_nan_keptTs+ * }S&+dM"B"BCCAF}S&+dM"B"BCCAFt||||t|||| HdD\ 1 1 11{a -fk#vay.I.IJJ1M-//////rJc||urdStj||gt}tj|}|jdksJ|d|usJ|d|usJdS)Nr*r%rr$)r1r2r5rrOr4)r6unique_nulls_fixtureunique_nulls_fixture2rlrs r<test_do_not_mangle_na_valuesz'TestUnique.test_do_not_mangle_na_valueses #8 8 8 F H*,AB& Q Q Q1{at+++++t,,,,,,,rJctdtjdgdz|}tj|}tjdtjdg|}t j||dS)Nr$r%rrr*)rrNArOr2r-r)r6any_numeric_ea_dtyperhrrs r<test_unique_maskedzTestUnique.test_unique_maskedosea]Q&.BCCC38QqM1EFFF '99999rJN)!r(r)r*r9r;rBrHrPrVr]r_rfrhrkryr~rrrrr+r-r1r2r5rrrrrrrrrDrJr<r/r/2s... ... ### 1 1 1#6#6#6J...>666 666 ...&::: 666 '0'0'0R0006666(666 0 0 0 [ hbhSz@@@ A xrxv666 7 666GGG666 6 6 6 [YV(<==00>=0 ---:::::rJr/c|tjdddd}t j|}t t j|}||ksJdS)Nr%rr)r1r5r6r7r nunique_intsrrO)index_or_series_or_arrayrgrrs r<test_nunique_intsrwsr % %bi&;&;A&>&>&G&G2r&R&R S SF   ' 'F5<''((H X      rJc(eZdZdZdZdZejdgdejdgddZ d Z ejdgdd Z ejdgd d Z d Z dZdZdZdZdZdZdZdZejdgeeejggdZdZdZdZdZdZdZ dS) TestIsincd}tjt|5tjdddddn #1swxYwYtjt|5tjddgdddn #1swxYwYtjt|5tjdgdddddS#1swxYwYdS)NzOonly list-like objects are allowed to be passed to isin\(\), you passed a `int`r(r$)rrrrisin)r6r7s r< test_invalidzTestIsin.test_invalids " ]9C 0 0 0   Jq!                   ]9C 0 0 0   Jq1#                   ]9C 0 0 0   JsA                     s5AAA&B  B B /CCCcd}tjt|5tjddgdg}dddn #1swxYwYt jddg}tj||tjt jddgdg}t jddg}tj||tjtddgdg}t jddg}tj||tjtddgtdg}t jddg}tj||tjtddgdh}t jddg}tj||tjt|5tjddgdg}dddn #1swxYwYt jddg}tj||tjtddgtdg}t jddg}tj||tjtddgdh}t jddg}tj||tjt|5tjddgdg}dddn #1swxYwYt jddg}tj||dS) N+isin with argument that is not not a Seriesr(r$r%TFrlrm) r-r.r/rrr1r2r4r)r6r7rrs r<r|zTestIsin.test_basics;  ' S A A A - -ZA,,F - - - - - - - - - - - - - - -8T5M** #FH555BHaV,,qc228T5M** #FH555FAq6NNQC008T5M** #FH555FAq6NNFA3KK888T5M** #FH555FAq6NNQC008T5M** #FH555  ' S A A A 3 3Zc SE22F 3 3 3 3 3 3 3 3 3 3 3 3 3 3 38T5M** #FH555FC:..u >>8T5M** #FH555FC:..668T5M** #FH555  ' S A A A 1 1Zc QC00F 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18UEN++ #FH55555s5AA A&H  HH L..L25L2ctddj}tj||dg}t jgd}t j||tj||dd}t jgd}t j||tj|t|dd}t jgd}t j||tddj}tj||dg}t jgd}t j||tj||dd}t jgd}t j||tj|t|dd}t jgd}t j||dS) NrrrperiodsrTFFr%rJr) rrgrrr1r2r-r4rrrs r<test_i8zTestIsin.test_i8sQ///6C#a&**800011 #FH555CQqS**8///00 #FH555CS1X//8///00 #FH555gq1118C#a&**800011 #FH555CQqS**8///00 #FH555CS1X//8///00 #FH55555rJdtype1)rdr M8[ns, UTC]z period[D]r+)rf8rctddj}t|dj|}|d|}t j||}tj |j t}tj ||dS)N 2013-01-01rrrrr*)r_valuesrviewr2rQrrr1zerosshaperSr-r4)r6r+rdtar{compsrrs r<+test_isin_datetimelike_values_numeric_compsz4TestIsin.test_isin_datetimelike_values_numeric_compss q1119SXXd^^$$*//77%%e,,E3''8EKt444 #FH55555rJctdddj}tj||dd}t jt |t}d|d<d|d <tj ||dS) N20000101irU)rrrr%r*Tr$) rrgrrr1rrrSr-r4r6rUrrs r< test_largezTestIsin.test_largesw z7 = = = DAq1v&&8CFF$///   #FH55555rJcTtddj}t|dj|}t |d<t j|t g}tjgdt}tj ||dS)Nrrrrrrrr*) rrrrr2rrrr1rSr-r4)r6r+rr{rrs r<test_isin_datetimelike_all_natz'TestIsin.test_isin_datetimelike_all_natsq1119SXXd^^$$*//66AC#''8000=== #FH55555rJ)rdrrcptddj}t|dj|}d|D}d}t jt|5tj ||}dddn #1swxYwY| sJtj|t}t jt|5tj ||}dddn #1swxYwY| sJdS) Nrrrrrc,g|]}t|SrD)str)rFrs r<rIzFTestIsin.test_isin_datetimelike_strings_deprecated..s$$$1A$$$rJz2The behavior of 'isin' with dtype=.* is deprecatedr(r*) rrrrr2r-r.r/rrallr1r) r6r+rr{valsr7resvals2res2s r<)test_isin_datetimelike_strings_deprecatedz2TestIsin.test_isin_datetimelike_strings_deprecatedsq1119SXXd^^$$*//66$$$$$B  ' S A A A ( (*S$''C ( ( ( ( ( ( ( ( ( ( ( ( ( ( (wwyyyS)))  ' S A A A * *:c5))D * * * * * * * * * * * * * * *xxzzzs$:BB #B 3DDDctddd}t|}t|d<tj|jtg}t jgdt}tj ||dS)NrrrUTCrrrrr*) rrrrrrr1r2rSr-r4)r6r}rhrrzs r<test_isin_dt64tz_with_natz"TestIsin.test_isin_dt64tz_with_natsuqU;;;SkkAjse,,h+++4888 #C-----rJctjgd}gd}ttdg||}ttdgtjddg|}tjgd}t j||}tj||dSNrror$r)TTFT) r1r2rr from_codesrrr-r4)r6rrSdStrrs r<test_categorical_from_codesz$TestIsin.test_categorical_from_codes sx %% K$$//d;; < < K$$//!Q0@0@$GG H H855566B## #Hf55555rJcrtjgd}gd}tdg||}tdgtjddg|}tjgd}t j||}t j||dSr)r1r2r rrrr-r4)r6rrcatotherrrs r<test_categorical_isinzTestIsin.test_categorical_isinsx %%1#))$55QC  ++BHaV,<,.LikeNanreturncdS)NFrD)r6rs r<__eq__z7TestIsin.test_same_object_is_in..LikeNan.__eq__GsurJcdS)NrrD)r6s r<__hash__z9TestIsin.test_same_object_is_in..LikeNan.__hash__JsqrJN)r(r)r*rSrrrDrJr<LikeNanrFs> t         rJrrr(TF)r-r.r/r4rrr1r2)r6rrlrmr7s r<test_same_object_is_inzTestIsin.test_same_object_is_in@s2         wyy''))1;  ' S A A A Q Q  ' A3(<(N>N O O O  ' A3(<(O>O P P P  Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q QsA;CC C ctdg}tdg}|d|dusJtjtj||}t jtjdg|tjtj|ttj|t}t jtjdg|tjtj|tj tj|tj }t jtjdg|dS)NrfrTr*) floatrrr1r2r-r4rVr5r)r6rrgrs r<rzTestIsin.test_different_nansVs)u,,Qxvay((((BHUOOV44 #BHdV$4$4f=== JuF + + +RZf-M-M-M   #BHdV$4$4f=== JuBJ / / /F"*1U1U1U   #BHdV$4$4f=====rJcddg}dg}tjddg}d}tjt|5t j||}dddn #1swxYwYtj||dS)Nss*42Fz2isin with argument that is not not a Series, Indexr()r1r2r-r.r/rrr4rs r< test_no_castzTestIsin.test_no_castnsr 8UEN++B  ' S A A A / /Zv..F / / / / / / / / / / / / / / / #Hf55555sAA!$A!emptyr*ctddg}tjddg}tj||}t j||dS)NrlrmF)rr1r2rrr-r4)r6rrrrs r< test_emptyzTestIsin.test_emptyysRc3Z  8UEN++D%(( #Hf55555rJcHtjdtjdztdgt}tjtdgt}tjgd}t j||}tj||dS)Nrf?r*)FFT) r1r2rfrr5rrr-r4)r6rrrrs r<test_different_nan_objectsz#TestIsin.test_different_nan_objectss%"eEll;6JJJxuf555800011E4(( #Hf55555rJctjdtjddd}tjdtjddd}||ksJ||ksJtj||gtj}tj|gtj}t j||}tjddg}tj ||tj|gtj}t j||}tjddg}tj ||dS)Nrrrrrr*T) rrrr1r2rrrr-r4)r6rrr{lookup1rrlookup2s r<test_different_nans_as_float64z'TestIsin.test_different_nans_as_float64s$ }S&+d4F"G"GHHK}S&+d4F"G"GHHKt||||t||||hd|2:666(D6444C))8T4L)) #FH555(D6444C))8T4L)) #FH55555rJctdddgi}|dg}tdddgi}tj||dS)zComparing df with int`s (1,2) with a string at isin() ("1") -> should not match values because int 1 is not equal str 1rgr$r%rFN)rrr-assert_frame_equalr6dfrexpected_falses r<test_isin_int_df_string_searchz'TestIsin.test_isin_int_df_string_searchsZ1a&) * *#"Huen#=>> fn55555rJctdtjdgi}|tjdgt }tdddgi}t j||dS)zComparing df with nan value (np.nan,2) with a string at isin() ("NaN") -> should not match values because np.nan is not equal str NaNrgr%NaNr*FN)rr1rfrr2r5r-rrs r<test_isin_nan_df_string_searchz'TestIsin.test_isin_nan_df_string_searchsm261+. / /5'88899"Huen#=>> fn55555rJctdddgi}|tjdgt}tdddgi}t j||dS)zComparing df with floats (1.4245,2.32441) with a string at isin() ("1.4245") -> should not match values because float 1.4245 is not equal str 1.4245rggn?g#Ed@z1.4245r*FN)rrr1r2r5r-rrs r< test_isin_float_df_string_searchz)TestIsin.test_isin_float_df_string_searchsl67"34 5 58*F;;;<<"Huen#=>> fn55555rJctdgtj}|dg}td}t j||dS)Nl Gr*l GF)rr1rrr-rr6rhrrs r<test_isin_unsigned_dtypez!TestIsin.test_isin_unsigned_dtypesS)*")<<<./00%== vx00000rJN)!r(r)r*rr|rrr+r-rrrrrrrrrrrrrrr5r1r2rr rrrrrrDrJr<rrsH   '6'6'6R6666 [X'W'W'WXX [W&8&8&899 6 6:9YX 6666 [W&V&V&VWW66XW6 [W&I&I&IJJKJ . . .666666 6 6 6666111QQQ,>>>0 6 6 6 [Wr66+?+?+?"&NOO66PO6666666,66666666611111rJrceZdZdZdZdZdZej de dgdZ dZ d Z d Zd Zej deje d fd ZdZdZdS)TestValueCountsc(tjdd}t |d}d}t jt|5tj |}dddn #1swxYwYgd}tj | td}tgd|d }t j||dS) Nirs!pandas.value_counts is deprecatedr()gV-g}?5^Ig/$ۿgףp= ?gʡE?Trr)r$rr%r$countrErt)r1r5r6standard_normalrr-r.r/r value_countsr from_breaksrQr rr sort_index)r6r{factorr7rbreaksrErs r<test_value_countsz!TestValueCounts.test_value_countss3i##D))99!<<S!2  ' S A A A 0 0'//F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0777)&11889IRV9W9W9WXX,,,e'BBB v0022H4G4G4I4IJJJJJs BBBc(gd}d}tjt|5tj|d}dddn #1swxYwYt dgt jdgd }tj||tjt|5tj|d d }dddn #1swxYwYt d d gt jd dgd }tj||dS)N)r$r%rrrsr r(r$binsrs)Zd;?rur!r"r%F)r,r@)r-@)r.ru) r-r.r/rr$rrrNr)r6rUr7rrs r<test_value_counts_binsz&TestValueCounts.test_value_counts_binss LL1  ' S A A A 3 3'222F 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 C}0,@@w    vx000  ' S A A A ? ?'>>>F ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? F+\:,FGG    vx00000s#AA  A &C  CCcd}tjt|5tjt jddg}dddn #1swxYwYt|dksJtjt|5tjt jddgd}dddn #1swxYwYt|dksJtjt|5tjtgd}dddn #1swxYwYt|dksJd}tj t|5tjt|5tjt jd dgt ddddn #1swxYwYddddS#1swxYwYdS) Nr r(r$rdr+)r$rdrr%z*bins argument only works with numeric datarr*) r-r.r/rr$r1r2rrrrrr5)r6msg2rr7s r<test_value_counts_dtypesz(TestValueCounts.test_value_counts_dtypess22  ' T B B B < <'!S(:(:;;F < < < < < < < < < < < < < < <6{{a  ' T B B B D D'!S(:(:CCCF D D D D D D D D D D D D D D D6{{a  ' T B B B ? ?'}}}(=(=>>F ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6{{a: ]9C 0 0 0 M M+MFFF M M"28S!HF#C#C#C!LLLL M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M Msk)AAA+CC  C $D00D47D4-G 2G; GG GG GG#&G#cttjdtgd}t ddg}d}||fD]}t jt|5tj |}tj |d }dddn #1swxYwYt|d ksJt|d ksJttd d id }t jt|5tj |}dddn #1swxYwYt j ||td gtjdgd } t jt|5tj |} dddn #1swxYwYt j | | dS)Nrctimedelta64[ns]r*rz 2014-01-01r r(Fdropnar$r%z2014-01-01 00:00:00r!rsr") rr1 timedelta64rrr-r.r/rr$rrr) r6tdrr7rhvc vc_with_naexp_dt result_dtexp_td result_tds r<test_value_counts_natz%TestValueCounts.test_value_counts_nats R^E**C08I J J J %. / /18 ( (C+MEEE C C',,"/EBBB  C C C C C C C C C C C C C C Cr77a<<<<z??a'''''#8991=GLLL  ' S A A A / /*2..I / / / / / / / / / / / / / / / y&111BN5$9$9#:III  ' S A A A / /*2..I / / / / / / / / / / / / / / / y&11111s6+BB B D((D,/D, F**F.1F.r+zM8[us]c ttdddtdddtdddtdddtdddtdddg|}|}ttdddtdddtdddg|}tgd|d}t j||dS) Ni r$iipr*rrr%r$r!r")rrr$rr-r)r6r+rhr exp_indexrzs r<&test_value_counts_datetime_outofboundsz6TestValueCounts.test_value_counts_datetime_outofbounds sq!$$q!$$q!$$q!$$q!$$q!$$         dAq ! !8D!Q#7#7$19M9M N   YYYig>>> sC(((((rJctttd}|}tgdt gdd}t j||d|j}|}|j |_ t j||ddS)NaaabbcrAror!r"Tcheck_index_type) rr rUr$rr-rr as_orderedrErs r<ryz TestValueCounts.test_categorical"s ;tH~~.. / /!! II-ooo>>W    vx$GGGG E    !!!2244 vx$GGGGGGrJc tttd}tj|jd<|}tgdtgdgdd}tj ||d |d }tgd td ddtjgd}tj ||d tttddgd}tj|jd<|}tgdtgdgddd}tj ||d |d }tgd td ddtjggddd}tj ||d dS)N aaaaabbbccr$)rsrrr%rorur!r"TrFFr5)rsrrr%r$rlrmrn)rmrlrn)rprro) rr rUr1rfilocr$rr-rrs r<test_categorical_nansz%TestValueCounts.test_categorical_nans1s ;tL1122 3 3Fq !! II"???OOO    vx$GGGGu-- LL 0#sC1H I IPW    vx$GGGG  \**D___ U U U  Fq !! II"*??     vx$GGGGu-- LL"c3'OOOT     vx$GGGGGGrJc 4tttdtdd}|}tgdtgdtddd}t j||d dS) NbbbaacabcdTro)rrr%r$r)rmrlrnrr!r"rF)rr rUr$r-rrs r<test_categorical_zeroesz'TestValueCounts.test_categorical_zeroes\s ;tH~~$v,,PTUUU V V!! LL$$$ft     vx$GGGGGGrJc 6tjtgddtddgddgdtjtgddtddgddgdtjtdgd zdgdzzdgd zzdtd dgt ddgt dtjtdgd zdgd zzdgdzzdtgd gd dtjtgddtddgddgdtjtgddtddgddgdtjtgddtddgddgdtgdd}tgdgdd}tj||dS)NrJTr5r%r$Fr!r"rrrpr*)rprrr%)TFN)皙$@rtrtrtrR)rRrtrtN)rRrRrtrtrtNrA)rtrRN)r-rrr$rr5)r6rrs r<test_value_counts_dropnaz(TestValueCounts.test_value_counts_dropnais  &&& ' ' 4 4D 4 A A Aq6$W = = =     &&& ' ' 4 4E 4 B B Aq6$W = = =    D6A:! +tfqj8 9 9 F Fd F S S Aq6e}F!C!C!C' R R R     D6A:! +tfqj8 9 9 F Fe F T T 999$7$7$7g F F F     ### $ $ 1 1 1 > > Aq6#t7 ; ; ;     ### $ $ 1 1 1 ? ? Aq6#t7 ; ; ;    ))) * * 7 7t 7 D D Aq6#t7 ; ; ;   999::GGuGUU)))+<+<+<7KKK vx00000rJrctdgdzdgdzztjgdzz}||}|dd}tgdttjd d g| d }t j|||dd}tddgtd d g| d }t j||dS)Nr$r%rrrpTF) normalizer6)g?g333333?g?rerdr* proportionr"g333333?g?)rr1rfrQr$r-r)r6r+rUs_typedrrs r<test_value_counts_normalizedz,TestValueCounts.test_value_counts_normalizeds A37aS1W$x!|3 4 4((5//%%U%CC OO"&#s+5999    vx000%%T%BB #Jfc3Zu===L    vx00000rJcJtjdgtj}tdgdgd}d}t jt |5tj|}dddn #1swxYwYt j ||tjddgt}tddgddgd}t jt |5tj|}dddn #1swxYwYt j ||dS) Nrr*r$r!r"r r(rq) r1r2rrr-r.r/rr$rr5)r6r{rr7rs r<test_value_counts_uint64z(TestValueCounts.test_value_counts_uint64shwbi0001#eW7;;;1  ' S A A A - -',,F - - - - - - - - - - - - - - - vx000hE{&1111a&U 'BBB  ' S A A A - -',,F - - - - - - - - - - - - - - - vx00000s$A44A8;A8"DD Dctjdddddtjg}t|d}tgdt jgdd d }tj||dS) Nrrr$r%rsr+)r%r%r$))r-re)rerv)rvruzinterval[float64, right]r*r!r") r1r2rfrr$rrNr-r)r6rgrrs r<test_value_counts_seriesz(TestValueCounts.test_value_counts_seriess1aAq"&122,,!,44 II+666>X     vx00000rJN)r(r)r*r)r/r2r?rr+r-r5rCryrLrPrSr1rrXrZr\rDrJr<rrs& K K K111&MMM&222. [Wvx&899)):9), H H H)H)H)HV H H H$1$1$1L [Wrz68&DEE11FE1$111 1 1 1 1 1rJrceZdZdZejdejgdejdddej ddddej dg ejgd ejgd e ejgd ej gd Z dZ ejdegdejddgdZejdgdgdfgdddgfgdgdfgdZejdgdejgde fgdZd S)!TestDuplicatedc tjddtjddtjgt}t j|}tjgd}t j||t j|d}tjgd}t j||t j|d}tjgd }t j||t j|d }tjgd }t j||tjd t}ttddtjtjgdzdtjdtjgdzD] \}}|||< t j|}d gd z}dgd z}tj||z}t j||t j|d}tj||z}t j||t j|d }tj||z}t j||dS)Nrr$r%r*)FFFTFTfirstkeeplast)TFTFFFF)TFTTFTrsT) r1r2rfr5r duplicatedr-r4r enumeratezip)r6keysrrrtfalsestruess r<test_duplicated_with_nasz'TestDuplicated.test_duplicated_with_nassQxArvq!RV4FCCC!$''8DDDEE #FH555!$W5558DDDEE #FH555!$V4448DDDEE #FH555!$U3338BBBCC #FH555x((( Arvrv&*Q26,BQ,F G G    DAqDGG!$''1 8FUN++ #FH555!$V4448EFN++ #FH555!$U3338EEM** #FH55555rJcase) r$r%r$rprrr%rsr$rpg?g@gffffff @g@gffffff@) ??@@ro@@y@@rpy@@rorqy@@) rlrmrlernrmrrlrrfr*) r$rr$rr'r$rtcHtjgd}tjgd}||z}tj|d}t j||tj|d}t j||tj|d}t j||t |t |dfD]}|d}t j|||d}t j|||d}t j||t|t|dfD]} | d}t j|t|| d}t j|t|| d}t j|t|dS) N FFTFFTFTTF TTTTFFFFFFr`rarcFr r*) r1r2rrer-r4rrr) r6rm exp_firstexp_last exp_false res_firstres_last res_falserrUs r<test_numeric_object_likesz(TestDuplicated.test_numeric_object_likess 4H N N N  8 N N N  ( $T888  #Iy999#Dv666 #Hh777$T666  #Iy999$KKt:!>!>!>? > >CG44I  ' 9 = = =~~6~22H  '( ; ; ;E22I  ' 9 = = = =,,t: > > >? A AA ' 22I  "9fY.?.? @ @ @|||00H  "8VH-=-= > > > % 00I  "9fY.?.? @ @ @ @ A ArJcgd}gd}tjd|Dtjd|Dtjd|Dtjd|Dtjd|Dg}tjgd}tjgd }||z}|D]}tj|d }t j||tj|d } t j| |tj|d } t j| |t |t |dt |tfD]} | d }t j||| d } t j| || d } t j| |t|t|dt|tfD]} | d }t j |t|| d } t j | t|| d } t j | t|dS)N) 2011-01-01 2011-01-02rr 2011-01-03rz 2011-01-04rrz 2011-01-06) 1 days2 daysrrz3 daysrz4 daysrrz6 daysc,g|]}t|SrDrrFrs r<rIz6TestDuplicated.test_datetime_likes..D///qill///rJc0g|]}t|dS)rrrrs r<rIz6TestDuplicated.test_datetime_likes..Es%@@@il333@@@rJc0g|]}t|dS)r>r)rrs r<rIz6TestDuplicated.test_datetime_likes..Fs%666afQS)))666rJc6g|]}tj|SrD)r1rrs r<rIz6TestDuplicated.test_datetime_likes..Gs"3331bmA&&333rJc,g|]}t|SrD)rrs r<rIz6TestDuplicated.test_datetime_likes..HrrJrxryr`rarcFr r*) r1r2rrer-r4rr5rr) r6rr8casesrzr{r|rmr}r~rrrUs r<test_datetime_likesz"TestDuplicated.test_datetime_likes)s         H//B/// 0 0 H@@R@@@ A A H662666 7 7 H33333 4 4 H//B/// 0 0  H N N N  8 N N N  ( & E& ED(G<<>v>66+Hh???NNN66 +IyAAAAt t:...t6*** E E LLgL66 &y&2C2CDDD<  ' S A A A & &Yu%%F & & & & & & & & & & & & & & & #FH55555rN)r(r)r*rlrr+r-r1r2rfr5rrrrrrrrrrDrJr<r^r^sL%6%6%6N [ BH333 4 4 BHc3RVS#sCM N N BH      BHGGGv V V V BH>>>bi   % 2&A&A32&APPEPEPEd [VeeIII&6&6  a8K8K%LMMXXNMX [QPP000  A@@Z( 6 5 57U7U7U V   66  6 [322???vNNN    66  666rJr^c ReZdZejdejej de dDe fej ej de dDe fej ejdejfejejdejfejejdejfgdZejdejej de dDe fej ej de dDe fej ejdejfejejdejfejejdejfgd Zd S) TestHashTablez htable, datacg|]}d|Sfoo_rDrs r<rIzTestHashTable.:::***:::rJr@r*cg|]}d|SrrDrs r<rIzTestHashTable.rrJct||j}|tjkrtj|jd<n.|tjkrtjdtg|jdd<| dd d}|j || d j }||j }tj||||j d \}}tj||||} tj| |j dS) Nr*rrTfracreplacedroprr`ra)return_inverse)rr+rFloat64HashTabler1rflocPyObjectHashTablersample reset_indexrgrdrop_duplicatesrOr-r4) r6htablerrrU s_duplicatedexpected_unique result_uniqueresult_inversereconstrs r<test_hashtable_uniquez#TestHashTable.test_hashtable_uniquesM$ 4tz * * * R( ( (AE#JJ r+ + + fdC0AE#c'NxxQx55AAtALL $$8$444'66G6DDK (;<<  #M?CCC)/  )8) ) % ~ #M?CCC 0 #Hl.ABBBBBrJcg|]}d|SrrDrs r<rIzTestHashTable.rrJcg|]}d|SrrDrs r<rIzTestHashTable.rrJct||j}|tjkrtj|jd<n.|tjkrtjdtg|jdd<| dd d}|j || j }||j \}}|j } t#j|| |||} |j } t#j| | dS) Nr*rrrrTrrr)rr+rrr1rfrrrrrrgrrr0r6rr-r4) r6rrrrUrna_maskrrrresult_reconstructexpected_reconstructs r<test_hashtable_factorizez&TestHashTable.test_hashtable_factorizesK$ 4tz * * * R( ( (AE#JJ r+ + + fdC0AE#c'NxxQx55AAtALL $$8$444##%%,(.(:(:<;N(O(O% ~ '--//??AAH #M?CCC+>7(+CD+2244; #$68LMMMMMrJN)r(r)r*rr+r-rrr1r2rr5StringHashTablerrxrInt64HashTablerUInt64HashTablerrrrDrJr<rrs" [$::eeDkk:::&III  "::eeDkk:::&III  )")D "C"C"C D    $bh ? ? ? @  4ry!A!A!A B  CC! C: [$::eeDkk:::&III  "::eeDkk:::&III  )")D "C"C"C D    $bh ? ? ? @  4ry!A!A!A B  NN! NNNrJrceZdZejdejejdddejdddejg dejdddejdddejg gdZejdej d d Z ejdej ej gd Z d Zejjd ZdS)TestRankr{rtr$r%rrruc`tjd}tj|}tj|}|}t j|}tj||<| |}tj ||<tj ||dS)Nz scipy.stats) r importorskipr1r2isfinitecopylibalgosrank_1drrankdatarfr-rF)r6r{sp_statsrrrzs r<test_scipy_compatzTestRank.test_scipy_compats&}55hsmm C   hhjj!#&&FD $$FD  vs+++++rJr+ AllIntegerctjddgtj}tjddg|}||t |}t j|}tj||dS)Nr$r%r*r1r) r1r2rrrrrankr-r4)r6rr+rzrrhrs r<r|zTestRank.test_basicsyh1vRZ000xC... H %%%TllC #FC00000rJctjddgtj}tddg|}t jt j||dS)Nr$r%r*r)r1r2rrr-r4rr)r6r+rzrUs r<rhzTestRank.test_uint64_overflow%sSh1vRZ000 Au:U + + + #EJqMM377777rJctjgdgdgdgg}d}tjt|5t j|ddddS#1swxYwYdS)Nr)rsrprn)rvrd z%Array with ndim > 2 are not supportedr()r1r2rrrrr)r6r{r7s r<test_too_many_ndimszTestRank.test_too_many_ndims,shIIIyyy9:;;5 ]9C 0 0 0   JsOOO                  sAA"%A"c>tjd}tj|d}|dksJtjddd}tj|d}|dksJdS)NiT)pctr$ir%)r1rxrrmaxreshape)r6rgrs r<test_pct_max_many_rowszTestRank.test_pct_max_many_rows3s9%%F---1133{{{{9%%--i;;F---1133{{{{{{rJN)r(r)r*rr+r-r1rfr typecodesr|rrrhr single_cpurrDrJr<rrs% [ VRVS#sBFAq!RV D "&#sCAsBF C  , , , [Wbl<&@AA11BA1 [Wrz29&=>>88?>8  [rJrceZdZdZejdejdejdzdZ dZ ejdejdejdzdZ dZ ejde egd Zd Zd Zd Zd ZdZdZdZdS)TestModectgtjtgt}t jtjtj g|j dS)Nr*)r+rE) rr1rrintr-r4rmoder2rgr6rzs r< test_no_modezTestMode.test_no_mode@sRRrzr1E1E1EFFF #EJrx||$<$dg}dgdzdgdzz}ddg}dgdzdgdzzdgdzz}t||}t||}tjtj|j|jtj||t||}t||}tjtj|j|jtj||dS)Nr$rpr%rrr*rrs r<test_number_modezTestMode.test_number_mode^sS cAga' F S1WsQw&!q0 [+++Zr*** #EJsz$:$:CJGGG sxxzz3///Zr***Yb))) #EJsz$:$:CJGGG sxxzz3/////rJcdg}dgdzdgdzz}t|d}t|d}tjtj|j|jtj||dS)Nrmrlr%rrrnr*r)r6rzrrhs r<test_strobj_modezTestMode.test_strobj_modepseuqyC519$T%%%S$$$ #EJsz$:$:CJGGG sxxzz3/////rJcdg}dgdzdgdzz}t||}t||}|r;|tur2tjt j|j|jn1tjt j|j|jtj||dS)Nbarrr%rrr*) rrr-rrrrgr4r)r6rusing_infer_stringrzrrhs r<test_strobj_multi_charzTestMode.test_strobj_multi_charysgw{eWq[(T$$$S###  L"))  +EJsz,B,BCJ O O O O  ' 3:(>(> K K K sxxzz3/////rJctgdd}tgdd}tjtj|j|jtj||tddgd}tgdd}tjtj|j|jtj||dS)N) 1900-05-03r 2013-01-02rr*)rrrrr)rrrrrrr-rrrrgrrr6rzrhs r<test_datelike_modezTestMode.test_datelike_modes???xPPP???xPPP ' 3:(>(> LLL sxxzz3///lL1BBB R R R    ' 3:(>(> LLL sxxzz3/////rJctgdd}tgdd}tjtj|j|jtj||tddgd}tgdd}tjtj|j|jtj||dS)N)-1 days0 daysrr4r*)rrr2 minrrrz-1 dayz -1 day 2 minrrrrs r<test_timedelta_modezTestMode.test_timedelta_modes444(> LLL sxxzz3///gw'/@AAA J J J#    ' 3:(>(> LLL sxxzz3/////rJctdgt}tgd}tjt j|j|jtj||dS)Nrr*)r$rr)rr5r-r4rrrgrrs r<test_mixed_dtypezTestMode.test_mixed_dtypesleWF+++&&&'' #EJsz$:$:CJGGG sxxzz3/////rJcLtdgtj}tgdtj}tjt j|j|jtj||tddgtj}tddgtj}tjt j|j|jtj||dS)Nrr*)r$rrr$) rr1rr-r4rrrgrrs r<rhzTestMode.test_uint64_overflowseWBI...&&&bi888 #EJsz$:$:CJGGG sxxzz3///aZry111aZry111 #EJsz$:$:CJGGG sxxzz3/////rJc$tddg}|}t|j}t j||tgd}tdgddg}t|j}t j||tgd}tddggd}t|j}t j||dS) Nr$r%r$rlrlrlrur$r$r%rrrrrrr)r rrrr-rv)r6rnrzrs r<ryzTestMode.test_categoricals A  Qiinn& #C---  & &3%QH555Qiinn& #C---  ( (1a&YYY777Qiinn& #C-----rJctgd}tgdtj}t jt j||jtgd}tdgt}t jt j||jtgd}tddgtj}t jt j||jtgdd }tj td 5t j|ddddS#1swxYwYdS) Nrr*r rlr r$rrrr4TimedeltaIndexr() rrr1rr-r4rrrgr5rrAttributeError)r6rrzs r< test_indexzTestMode.test_indexsyIIIYYYbh/// #EJsOOSZ@@@MMM""cU&))) #EJsOOSZ@@@OOO$$aV28,,, #EJsOOSZ@@@ J J J#   ]>1A B B B   JsOOO                  s7EE Ectgdd}|}tdgd}tj||dS)N)r$r$rrrrsr$)rrr-rrs r<test_ser_mode_with_namez TestMode.test_ser_mode_with_namesRYYYU+++1#E*** vx00000rJN)r(r)r*rrr+r-r1rrrrrrr5rrrrrhryrrrDrJr<rr?sfJJJ [T2< #= W@U#UVV00WV0$HHH [T2< #= W@U#UVV00WV0"000 [TC=11 0 021 0 0 0 0 0 0 0000 0 0 0... *11111rJrceZdZejdddgdZdZejdddgdZd S) TestDiffr+rrdcjtjdtj|dd}|jdd|dddf<tj |dd }tj |j d dz}tj dd|dddf<tj dd|dddf<tj||tj |jdd }tj||jdS) N rrrsrnsr%r$raxisr4r*)r1rxrQrrrr+typerdiffrrr7r-r4Tr6r+r{rrs r<test_diff_datetimelike_natz#TestDiff.test_diff_datetimelike_natsimm""28,,11%88@@AFFINN5$//AAAqD C+++739,=>>>Bt44At44AAA #FH555CE11--- #FHJ77777rJctdddj}d}tjt|5t j|ddddddS#1swxYwYdS) Nrrrrrz#cannot diff DatetimeArray on axis=1r(r$r)rr|rr ValueErrorrr)r6rr7s r<test_diff_ea_axiszTestDiff.test_diff_ea_axissq\BBBH3 ]:S 1 1 1 ' ' JsAA & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'sAA!Aint8int16ctjgd|}tj|d}tjtjddddgd}t j||dS)N)rr$r$rrr*r$rrqrR)r1r2rrrfr-r4rs r<test_diff_low_precision_intz$TestDiff.test_diff_low_precision_intsehe444C##8RVQ2q1CCC #FH55555rJN) r(r)r*rr+r-rrr#rDrJr<rrs [Wx&:;; 8 8<; 8''' [Wvw&7886698666rJropc4|gd}|gd}|gd}t|tjr,tj||}t j||dStj||}t j||dS)N)rrr$rrrs)r%rrr$r$)rrrrr$r$rsr%)rMr1rrunion_with_duplicatesr-r4r)r$lvalsrvalsrrs r<test_union_with_duplicatesr)s B|||  E B|||  Er$$$%%H(BJ'':,UE:: #FH55555,UE:: '99999rJ)Brrnumpyr1rpandas._configr pandas._libsrrrrpandas.core.dtypes.commonrrr r r pandas.core.dtypes.dtypesr pandasrr rrrrrrrrrrrrrrrrrpandas._testing_testingr-pandas.core.algorithmscore algorithmspandas.core.arraysrr pandas.core.commoncommonrr"r/rrrr^rrrrr+r-r2r)rDrJr<r8s  ------ 766666(&&&&&&&&&! zQzQzQzQzQzQzQzQzB:B:B:B:B:B:B:B:J ~1~1~1~1~1~1~1~1B }1}1}1}1}1}1}1}1@g6g6g6g6g6g6g6g6TYNYNYNYNYNYNYNYNx66666666r^1^1^1^1^1^1^1^1B66666666@"(344 : :54 : : :rJ