zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
45
46
47
48
49
U
­ý°d©ã @sddlmZddlZddlZddlZddlmZddlmm    Z
ddl Z ddl mZddlmZddlmZmZddlmZe jedƒdd    d
e jedƒdd d
d œZd \ZZdd„Zedd„ƒZedd„ƒZedd„ƒZedd„ƒZ edd„ƒZ!dddddej"giZ#ej$ %dddg¡dd„ƒZ&d d!„Z'd"d#„Z(ej$ %deee ee!g¡d$d%„ƒZ)d&d'„Z*ej$ %dd(d)d*gd+d,d-gd.œd/d0dgd+d,d-gd.œe +d    d    d g¡e +d/d0dg¡e +d+d,d-g¡d1œg¡d2d3„ƒZ,d4d5„Z-d6d7„Z.d8d9„Z/d:d;„Z0e
 1d<¡d=d>„ƒZ2dS)?é)ÚdatetimeN)ÚiNaT)Ú PandasColumn)ÚColumnNullTypeÚ    DtypeKind)Úfrom_dataframeZtestdataéT)ÚorderedF)r    Ú    unordered)édéÈcs‡fdd„ttƒDƒS)Ncs>i|]6}dt|tdtdƒ›‡fdd„ttƒDƒ“qS)Úcoléécsg|]
}ˆƒ‘qS©r)Ú.0Ú_©Zmake_onerúYd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/interchange/test_impl.pyÚ
<listcomp>sz)_make_data.<locals>.<dictcomp>.<listcomp>)ÚintÚNCOLSÚrangeÚNROWS)rÚirrrÚ
<dictcomp>sÿz_make_data.<locals>.<dictcomp>)rrrrrrÚ
_make_datas
þrcCs t dd¡S)Niœÿÿÿr ©ÚrandomÚrandintrrrrÚ<lambda>"ór cCs t dd¡S)Nrr rrrrrr #r!cCst ddg¡S)NTF)rÚchoicerrrrr $r!cCst ¡S©N)rrrrrr %r!cCs&tt dd¡t dd¡t dd¡dS)Nili4ré é)ÚyearÚmonthÚday)rrrrrrrr 's
 
 
ýúseparator dataz abC|DeF,Hikz 234,3245.67z gSaf,qWer|Grez
asd3,4sad|Údata)r    T)r
Fc
Csàt dt|di¡}| ¡ d¡}|jdtjks8t‚|j    dksFt‚|j
t j dfksZt‚|  ¡dksjt‚|j}|d|dks„t‚|ddks”t‚t|dtƒs¦t‚t |djt d    d
d d d g¡¡t |t| ¡ƒ¡dS)NÚAréÿÿÿÿrZ
is_orderedZ is_dictionaryTÚ
categoriesÚaÚdÚeÚsÚt)ÚpdÚ    DataFrameÚtest_data_categoricalÚ __dataframe__Úget_column_by_nameÚdtyperZ CATEGORICALÚAssertionErrorÚ
null_countÚ describe_nullrÚ USE_SENTINELZ
num_chunksZdescribe_categoricalÚ
isinstancerÚtmZassert_series_equalZ_colZSeriesÚassert_frame_equalr)r*Údfr Zdesc_catrrrÚtest_categorical_dtype9sÿrAc    Cs„t dd¡}ddddddddd    g    }| d
| |¡ ¡i¡}| ¡}t|ƒ}tj|ddddddd    gd }t     d
|i¡}t
  ||¡dS) NÚpyarrowú11.0.0ÚMonÚTueÚWedÚThuÚFriÚSatÚSunÚweekday)r-) ÚpytestÚ importorskipÚtableÚarrayZdictionary_encoder6rr3Ú Categoricalr4r>r?)ÚpaÚarrrNÚ exchange_dfÚresultrKÚexpectedrrrÚtest_categorical_pyarrowMs ÿrVcCsvt dd¡}ddg}| d| |d¡i¡}| ¡}t|ƒ}t dddgi¡}t     ||¡|j
  |j  |¡|¡srt ‚dS)NrBrCrDrErKZ large_string)rLrMrNrOr6rr3r4r>r?ZTableÚequalsZ interchanger9)rQrRrNrSrTrUrrrÚtest_large_string_pyarrow\s  rXcs¼t ˆ¡}| ¡}| ¡tks"t‚| ¡tks2t‚t|     ¡ƒtˆ 
¡ƒksNt‚d}t ‡fdd„|Dƒƒ}t |  |¡ƒ}t | |¡ƒ}t ||¡t|jdtƒs¤t‚t|jdtƒs¸t‚dS)N)rrc3s|]}tˆ ¡ƒ|VqdSr#)ÚlistÚkeys)rÚidx©r*rrÚ    <genexpr>ysz!test_dataframe.<locals>.<genexpr>Z_INTERCHANGE_PROTOCOL_BUFFERS)r3r4r6Z num_columnsrr9Znum_rowsrrYZ column_namesrZÚtuplerZselect_columnsZselect_columns_by_namer>r?r=Úattrs)r*r@Údf2ÚindicesÚnamesrTrUrr\rÚtest_dataframeks
 rcc st t dddddg¡t dddd    dg¡t d
d d
d
d
g¡d œ¡‰ˆ ¡}tj d ¡‰‡‡fdd„ˆjDƒ}| ¡D]6\}}ˆj    ˆj
t  t ˆƒ¡|d d}dˆj ||f<qtˆ ¡}| d¡j|dksÌt‚| d¡j|dksät‚| d¡j|dksüt‚dS)Nrréérçø?ç@ç @g@TF©ÚxÚyÚzé*cs i|]}|ˆjdtˆƒd“qS)r)ÚlowÚhigh)rÚlen)rr ©r@Úrngrrrsz,test_missing_from_masked.<locals>.<dictcomp>)ÚsizeÚreplacerjrkrl)r3r4ÚnprOr6rZ RandomStateÚcolumnsÚitemsÚindexr"ZarangerpÚlocr7r:r9)r`Z    dict_nullr Z    num_nullsZnull_idxrrqrÚtest_missing_from_maskedƒs$ýÿ ÿrzrfrgrhçffffff"@ç%@皙™™™™'@)rjrkrrricCs6t |¡}| ¡}|jD]}| |¡jdkst‚qdS)Nr)r3r4r6rvr7r:r9)r*r@r`Úcol_namerrrÚtest_mixed_datas
 
rc Csnt t dddddg¡t dddddg¡t dddddg¡dœ¡}| ¡}|jD]}| |¡jdksPt‚qPdS)    NTFrrr{r|r}ri)    r3r4rurOr6rvr7r:r9)r@r`r~rrrÚtest_mixed_missing±sýÿ
r€cCsÔtddg}t d|i¡}| ¡ d¡}| ¡dks:t‚|jdksHt‚|jdt    j
ks\t‚|j t j dfkspt‚|dd…}| ¡ d¡}| ¡dksšt‚|jdks¨t‚|jdt    j
ks¼t‚|j t j dfksÐt‚dS)Nr)Úr+érré)Ú string_datar3r4r6r7rsr9r:r8rÚSTRINGr;rZ USE_BYTEMASK)Z test_str_datar@r Z    df_slicedrrrÚ test_stringÀs r†c    CsHt dddddgi¡}| ¡ d¡}tjtdd |jW5QRXdS)Nr+r.é
gð?rznot supported yet)Úmatch)r3r4r6r7rLZraisesÚNotImplementedErrorr8©r@r rrrÚtest_nonstring_objectÒsr‹cCs†t dt d¡tjgi¡}| ¡ d¡}| ¡dks8t‚|jdksFt‚|j    dt
j ksZt‚|j t jtfksnt‚t |t| ¡ƒ¡dS)Nr+z
2022-01-01rrr)r3r4Ú    TimestampZNaTr6r7rsr9r:r8rZDATETIMEr;rr<rr>r?rrŠrrrÚ test_datetimeÙsrz1.23cCsbt dt dddg¡i¡}| ¡ d¡}t | ¡dd¡}tjdddgdd}t     
||¡dS)    Nr+r.Úbr*rrZint8)r8) r3r4rPr6r7ruZ from_dlpackZ get_buffersrOr>Zassert_numpy_array_equal)r@r rTrUrrrÚ test_categorical_to_numpy_dlpackås
r)3rrÚnumpyrurLZpandas._libs.tslibsrZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr3Zpandas._testingZ_testingr>Zpandas.core.interchange.columnrZ*pandas.core.interchange.dataframe_protocolrrZ&pandas.core.interchange.from_dataframerrPrYr5rrrZint_dataZ    uint_dataZ    bool_dataZ
float_dataZ datetime_dataÚNaNr„ÚmarkZ parametrizerArVrXrcrzrOrr€r†r‹rZ skip_if_np_ltrrrrrÚ<module>sr     þ    ÿ    ûÿ 
 ÿ
ýýþ