zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
U
®ý°dY4ã@sddlZddlZddlZddlmZmZmZmZddl    m
Z ddl m Z ddlmZmZejedddgddd    edd
d gdd d    ed ddgddd    edddgdƒedddgdƒeejdddƒeejddddƒeejdddƒgddd„ƒZejddgddd „ƒZd!d"„Zd#d$„Zej d%d&eg¡d'd(„ƒZej d)d*d+e d¡g¡d,d-„ƒZd.d/„Zd0d1„Zej d)d*d+e d¡g¡d2d3„ƒZ d4d5„Z!d6d7„Z"ej d8edddgƒed9d:d;gƒed9d:ej#gƒed9d:d;gd:d<d=gd>ed ddgƒed ej#dgƒed ddgƒedddgƒeed    ed ddgdddgd?œƒeƒe  $¡e  %¡e  &¡e  '¡ee  (¡ƒeejddddƒg¡d@dA„ƒZ)ej d8edddgƒed9d:d;gƒed9d:ej#gƒed9d:d;gd:d<d=gd>ed ddgƒed ej#dgƒed ddgƒedddgƒed ddgdddgd?œƒe  $¡e  %¡e  &¡e  '¡ee  (¡ƒeejddddƒg¡dBdC„ƒZ*ej d8edddgƒedddgƒe  +¡e  (¡e ,e-d*ƒd+dDdEgejdddg¡e ,e .e/dFƒ¡e-dƒg¡g¡dGdH„ƒZ0dIdJ„Z1dKdL„Z2ej d8egdMd    egdNd    egƒg¡dOdP„ƒZ3ej dQed dddgƒedRdSdTdUgƒeejddVdƒg¡ej dWddg¡dXdY„ƒƒZ4dZd[„Z5d\d]„Z6d^d_„Z7d`da„Z8dbdc„Z9ddde„Z:dfdg„Z;dhdi„Z<ej dje-dkƒ¡ej dlddg¡dmdn„ƒƒZ=dodp„Z>ej dqe?drƒe?dsƒgdtduggdvdwgdxdyggg¡dzd{„ƒZ@d|d}„ZAd~d„ZBdS)€éN)Ú    DataFrameÚIndexÚ
MultiIndexÚSeries)Ú hash_tuples)Ú
hash_arrayÚhash_pandas_objectéééÚint32©Údtypeg@g @Úfloat32ÚaÚbÚcÚcategoryÚdÚeÚfTFÚ20130101é    )Úperiodsz
US/Eastern)rÚtzÚ2000)ÚparamscCs|jS©N©Úparam©Úrequest©r"úUd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/util/test_hashing.pyÚseriess r$cCs|jSrrr r"r"r#Úindex#sr%cCsDttdddgƒƒ}ttjdddgdddddgd    }t ||¡dS)
NÚfooÚbarÚbazlØ7â* ºl6jz„d–lnŒ*5Úuint64r ©r%)rrrÚnpÚarrayÚtmÚassert_series_equal©ÚresultÚexpectedr"r"r#Útest_consistency(sþûr2cCs|j}t t|ƒt|ƒ¡dSr)Úvaluesr-Úassert_numpy_array_equalr)r$Zarrr"r"r#Útest_hash_array6sr5rÚUcCs<tt dddg¡ƒ}ttjdddg|dƒ}t ||¡dS)NÚ3Ú4ZAllr ér )rr+r,r-r4)rÚresult1Úresult2r"r"r#Útest_hash_array_mixed;sr<Úvalér&c    Cs*d}tjt|dt|ƒW5QRXdS)Nzmust pass a ndarray-like©Úmatch)ÚpytestÚraisesÚ    TypeErrorr©r=Úmsgr"r"r#Útest_hash_array_errorsCsrFc    Cs:tjdgdd}d}tjt|dt|ƒW5QRXdS)Nz2018-10-28 01:20:00z Europe/Berlin)rzUse hash_pandas_object insteadr?)ÚpdZ DatetimeIndexrArBrCr)ÚobjrEr"r"r#Útest_hash_array_index_exceptionJsrIc    Csfdddg}t|ƒ}tt |¡ƒj}t ||¡d ddg¡}tj    t
|dt|dƒW5QRXdS)    N)r    Úone)r    Ztwo)r
rJú|zobject is not iterablez&zip argument #1 must support iterationr?r) rrrÚ from_tuplesr3r-r4ÚjoinrArBrC)Ztuplesr0r1rEr"r"r#Útest_hash_tuplesSs
 rNc    Cs*d}tjt|dt|ƒW5QRXdS)Nz'must be convertible to a list-of-tuplesr?)rArBrCrrDr"r"r#Útest_hash_tuples_err`srOcCs:t ddddg¡}|jdks t‚t|ƒ}|jdks6t‚dS)N)éviØ)éìrP)é3éÌ)éfrRT)rrLZ    is_uniqueÚAssertionErrorr)Úmir0r"r"r#Útest_multiindex_uniquegsrWcCsjtdddgdddggddddgddddggdd    gd
}| ¡}| |¡sLt‚t|jƒ t|jƒ¡sft‚dS) Nrrrr    r
r rZcol1Zcol2)ÚlevelsÚcodesÚnames)rZ_sort_levels_monotonicÚequalsrUrr3)rVZreconsr"r"r#Útest_multiindex_objectsosýr\rHgð?gø?gš™™™™™    @gš™™™™™ñ?gffffff
@r*©ÚxÚycCs(t||d}t||d}t ||¡dS©Nr*©rr-r.©rHr%rrr"r"r#Útest_hash_pandas_object|s  rccCs,t|dd}t|dd}||k ¡r(t‚dS©NTr*F©rÚallrU©rHrrr"r"r#Ú,test_hash_pandas_object_diff_index_non_empty˜s  rhr'r(ZaabccCs(t||d}t||d}t ||¡dSr`rarbr"r"r#Útest_hash_pandas_index²s  ricCs(t||d}t||d}t ||¡dSr`ra)r$r%rrr"r"r#Útest_hash_pandas_seriesÅs  rjcCs,t|dd}t|dd}||k ¡r(t‚dSrdre)r$rrr"r"r#Ú"test_hash_pandas_series_diff_indexËs  rkÚfloat64ÚobjectcCs(t||d}t||d}t ||¡dSr`rarbr"r"r#Útest_hash_pandas_empty_objectÑs  rnÚs1ièiÐi¸ i r9Ú
categorizecCsf| d¡j |¡}|j tt|ƒƒ¡}t||d}t||d}t||d}t ||¡t ||¡dS)Nr©rp)ZastypeÚcatZset_categoriesÚlistÚreversedrr-r.)rorpÚs2Zs3Úh1Úh2Úh3r"r"r#Útest_categorical_consistencyÜs    rycCs€tjjddddddgtjddd    d
d }t|d d }tjjddgt d¡gd }t|d d }|d|kslt‚|d|ks|t‚dS)Néÿÿÿÿrr    r
r r9z
2012-01-01r>ÚB)rÚname)Ú
categoriesFrq)rGZ CategoricalZ
from_codesÚ
date_rangerÚ    TimestamprU)rr1r0r"r"r#Ú%test_categorical_with_nan_consistencyösÿ  r€c    Cs0d}tjt|dtt d¡ƒW5QRXdS)NzUnexpected type for hashingr?r)rArBrCrrGr©rEr"r"r#Útest_pandas_errorssr‚cCs8ttdƒƒ}t|dd}t|dd}||k ¡s4t‚dS)NÚabcÚ9876543210123456©Zhash_keyÚ9876543210123465)rrsrrfrUrgr"r"r#Útest_hash_keys    s   r‡cCsDtt d¡tdƒdœƒ}t|dd}t|dd}||k ¡s@t‚dS)Nr rƒr]r„r…r†)rr+ÚarangersrrfrUrgr"r"r#Útest_df_hash_keyss  r‰cCsptt d¡tdƒdœƒ}t|dd}t|dd}|d|dksDt‚|d|dksXt‚|d    |d    kslt‚dS)
Nr za+cr]Úutf8)ÚencodingÚutf7rr    r
)rr+rˆrsrrUrgr"r"r#Útest_df_encoding!s   rc    Cs6d}tjt|dtttdƒƒddW5QRXdS)Nz&key should be a 16-byte string encodedr?rƒr&r…)rArBÚ
ValueErrorrrrsrr"r"r#Útest_invalid_key0srcCs<ttdƒƒj d¡}t||d}t||d}t ||¡dS)NrƒrŠr*)rrsÚstrÚencoderr-r.©r%rHrrr"r"r#Útest_already_encoded8s  r“cCs4ttdƒƒ}t||d}t||d}t ||¡dS)Nrƒr*)rrsrr-r.r’r"r"r#Útest_alternate_encoding@s   r”Úl_expéÚl_addcCs>d|d|}t |d¡}t|dƒ}|d|dkr:t‚dS)Nr
r–rŠrr    )r-Z rands_arrayrrU)r•r—ÚlengthÚsr0r"r"r#Útest_same_len_hash_collisionsGs 
ršcCs®ddg}ttj|dd…tddƒ}tjdgtjd}t ||¡ttj|dd…tddƒ}tjd    gtjd}t ||¡ttj|tddƒ}t |tj||gdd
¡dS) NaIngrid-9Z9fKIZmkO7i7Cn51Li34pJm44fgX6DYGBNj3VPlOH50m7HnBlPxfIwFMrcNJNMP6PSgLmwWnInciMWrCSAlLEvt7JkJl4IxiMrVbXSa8ZQoVaq5xoQPjltuJEfwdNlO6jo8qRRHvD8sBEBMQASrRa6TsdaPTPCBo3nwIBpE7YzzmyH0vMBhjQZLx1aCT7faSEx7PgFxQhHdKFWROcysamgy9iVj8DO2Fmwg1NNl93rIAqC3mdqfrCxrzfvIY8aJdzin2cHVzy3QUJxZgHvtUtOLxoqnUHsYbNTeq0xcLXpTZEZCxD4PGubIuCNf32c33M7HFsnjWSEjE2yVdWKhmSVodyF8hFYVmhYnMCztQnJrt3O8ZvVRXd5IKwlLexiSp4h888w7SzAIcKgc3g5XQJf6MlSMftDXm9lIsE1mJNiJEv6uY6pgvC3fUPhatlR5JPpVAHNSbSEE73MBzJrhCAbOLXQumyOXigZuPoME7QgJcBalliQol7YZ9aTim-b9MddTxOWW2AT1Py6vtVbZwGAmYCjbp89p8mxsiFoVX4FyDOF3wFiAkyQTUgwg9sVqVYOZo09Dh1AzhFHbgij52ylF0SEwgzjzHH8TGY8Lypart4p4onnDoDvVMBa0kdthVGKl6K0BDVGzyOXPXKpmnMF1H6rJzqHJ0HywfwS4XYpVwlAkoeNsiicHkJUFdUAhG229INzvIAiJuAHeJDUoyO4DCBqtoZ5TDend6TK7Y914yHlfH3g1WZu5LksKv68VQHJriWFYusW5e6ZZ6dKaMjTwEGuRgdT66iU5nqWTHRH8WSzpXoCFwGcTOwyuqPSe0fTe21DVtJn1FKj9F9nEnR9xOvJUO7E0piCIF4Ad9yAIDY4DBimpsTfKXCu1vdHpKYerzbndfuFe5AhfMduLYZJi5iAw8qKSwR5h86ttXV0Mc0QmXz8dsRvDgxjXSmupPxBggdlqUlC828hXiTPD7am0yETBV0F3bEtvPiNJfremszcV8NcqAoARMerr    r rŠléîrIU} r
lpXð^»ì)Zaxis)    rr+Zasarrayrmr,r)r-r4Z concatenate)Úhashesr:Z    expected1r;Z    expected2r0r"r"r#Útest_hash_collisionsQsþ  rœzdata, result_dataÚ1Ú2lÃ.C7Œj”|l93™B
ï)r    )r
lpH-\h+šlÆ1Ù"ÍRõkcCs2td|iƒ}t|ƒ}t|tjd}t ||¡dS)NÚdatar )rrrr+r)r-r.)rŸZ result_dataZdfr0r1r"r"r#Útest_hash_with_tuplegs r c    Cs>tddgfdifgiƒ}tjtddt|ƒW5QRXdS)NrŸr    r
zunhashable type: 'list'r?)rrArBrCr)Zdf3r"r"r#Útest_hashable_tuple_argsxsþþûÿÿr¡cCs8tjjtddgƒdd}tddgdd}t ||¡dS)Nrrr…lA!˜M|l«Z4^„    ër)r )rGÚutilrrr-r.r/r"r"r#Útest_hash_object_none_keysr£)CÚnumpyr+rAZpandasrGrrrrZpandas._testingZ_testingr-Zpandas.core.util.hashingrZ pandas.utilrrZfixturer~Ztimedelta_ranger$r%r2r5ÚmarkZ parametrizermr<rrFrIrNrOrWr\ÚnanZmakeMissingDataframeZmakeMixedDataFrameZmakeTimeDataFrameZmakeTimeSeriesZmakePeriodIndexrcrhZmakeTimedeltaIndexZ from_productÚrangeZCategoricalIndexrsrirjrkrnryr€r‚r‡r‰rrr“r”ršrœÚtupler r¡r£r"r"r"r#Ú<module>sø  øÿ
 
 
 
     
 
ïþ
 
ñþ
  ÿøþ
ÿ
ýþ     þþ