zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
U
­ý°dÁ9ã@sŠddlZddlZddlmZddlmZddlZ    ddlm
Z
m Z ddl m ZddlmZmZddlmZGdd„deƒZGd    d
„d
ƒZdS) éN©Úindex)Ú NDArrayBacked)Ú CategoricalÚCategoricalDtype)ÚCategoricalIndexÚIndex)ÚBasec@sbeZdZeZejedœdd„ƒZejdd„ƒZdddœd    d
„Z    d d „Z
d d„Z dd„Z dd„Z ej ddddgdddddggedƒedƒgg¡dd„ƒZdd„Zej ddddgdddge dd d g¡e d d dg¡e d d d g¡d!œfdddgedƒe dd d g¡e d d dg¡e d d d g¡d!œfdd"d#gedƒejdejd$ejdejd$ejdejd$d!œfed%ƒedƒe ddd g¡e dd dg¡e dd d g¡d!œfg¡d&d'„ƒZej d(dddgdddgdgfdddgedƒejgfddd"gdddgddejgfdd"d#gedƒejd"d#gfg¡d)d*„ƒZd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Z dS)9ÚTestCategoricalIndex)ÚreturncCs|jtdƒtdƒddS)NÚaabbcaÚcabF©Ú
categoriesÚordered)Ú
_index_clsÚlist©Úself©rúed:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/categorical/test_category.pyÚ simple_indexsz!TestCategoricalIndex.simple_indexcCs
t d¡S)Néd)ÚtmÚmakeCategoricalIndexrrrrrszTestCategoricalIndex.indexNFrcCs"|dkrtdƒ}ttdƒ||dS)Nr r r)rr)rrrrrrÚ create_indexsz!TestCategoricalIndex.create_indexcCs.|jtdƒd}|d}| |¡dks*t‚dS)NZabcd©rrT)rrZ$_can_hold_identifiers_and_holds_nameÚAssertionError)rÚidxÚkeyrrrÚtest_can_hold_identifiers$sz.TestCategoricalIndex.test_can_hold_identifierscCs|}|j}| dd¡}ttdƒ|d}tj||dd| dd¡}ttdƒ|d}tj||ddtg|d dd¡}tdg|d}tj||dd| t¡ dd    ¡}| dd    ¡}tj||ddtdtj    dd
d d
gƒ}tj    t
j dfD]$}ttd ƒƒ d |¡}t ||¡qædS)NrÚaZaaabbcarT©ÚexactéÿÿÿÿZaabbcaaÚdÚbÚcZaabcbé) rÚinsertrrrÚassert_index_equalÚastypeÚobjectÚnpÚnanÚpdÚNaT)rrÚcirÚresultÚexpectedÚnarrrÚ test_insert)s$   z TestCategoricalIndex.test_insertcCsBtdddgƒ}| dtj¡}ttjdddgtd}t ||¡dS)Nrr(©Údtype)rr)r/r0rr,rr*©rr1r2r3rrrÚtest_insert_na_mismatched_dtypeGsz4TestCategoricalIndex.test_insert_na_mismatched_dtypec    Cs†|}|j}| d¡}ttdƒ|d}tj||dd| d¡}ttdƒ|d}tj||ddt ttf¡| d¡W5QRXdS)    NrZabbcarTr"r$Zaabbcé
)    rÚdeleterrrr*Zexternal_error_raisedÚ
IndexErrorÚ
ValueError)rrr1rr2r3rrrÚ test_deleteMs
 
z TestCategoricalIndex.test_deletezdata, non_lexsorted_datar(ééé    rÚabcZfabcdcCsXt|ƒ}|jdkst‚|jdks$t‚t|dd}|jdks>t‚|jdksLt‚t|t|ƒd}|jdksjt‚|jdksxt‚t|t|ƒdd}|jdks˜t‚|jdks¦t‚|d|d|dg}t|t|ƒd}|jdksÚt‚|jdksèt‚|}t|dd…|d}|jdkst‚|jdks t‚t|dd    …|d}|jdksDt‚|jdksTt‚dS)
NTF©rrrrr?r(r@)rZis_monotonic_increasingrZis_monotonic_decreasingÚreversed)rÚdataZnon_lexsorted_datar'Zreordered_datarrrrÚtest_is_monotonic]s. z&TestCategoricalIndex.test_is_monotoniccCsœtdddgdd}|jdks t‚|jdks.t‚tddgddgdd    }|jdksRt‚|jdks`t‚tddddgdddgdd    }|jdksŠt‚|jdks˜t‚dS)
NrÚfoo)ÚnameFTr(r?r@©rrH)rZ    is_uniquerZhas_duplicates)rrrrrÚtest_has_duplicatesƒsz(TestCategoricalIndex.test_has_duplicateszdata, categories, expectedT)ÚfirstÚlastFr!r&)Úshaper7ZabbcCsZt||dd}| ¡D]>\}}t |j|d|¡||}|j|d}t ||¡qdS)NrGrI)Úkeep)rÚitemsrÚassert_numpy_array_equalZ
duplicatedZdrop_duplicatesr*)rrErr3rrNÚer2rrrÚtest_drop_duplicatess *
 z)TestCategoricalIndex.test_drop_duplicateszdata, categories, expected_datacCs8t||d}t||d}t||d}t | ¡|¡dS)NrCr6)rrrr*Úunique)rrErZ expected_datarr7rr3rrrÚ test_uniqueÁs
  z TestCategoricalIndex.test_uniquecCs`tddgddgdd}t|ƒtjtt|ƒƒ|ddt|ƒttjjdddd    ƒ}t|ƒdS)
Nr!r&Trr"rér)Úsize)    rÚstrrr*ÚevalÚreprr-ÚrandomÚrandint)rr1rrrÚtest_repr_roundtripÑs z(TestCategoricalIndex.test_repr_roundtripc Csttdƒtjgdddgd}t | dg¡t ddddddg¡¡t | dddg¡t dgddg¡¡t | dddtjg¡t dgd    ¡¡| | td
ƒ¡¡}t dgd    ¡}t ||¡| | td ƒ¡¡}t dgddg¡}t ||¡dS) NZaabcar'r!r&rFTrUéZ    abcdefghiZdefghi)    rrr-r.rrPÚisinÚarrayÚset_categoriesr8rrrÚ    test_isinÞs&
ÿÿÿ zTestCategoricalIndex.test_isincCs`tddgddgdd}tddgdddgdd}| |¡s<t‚| | ¡¡sNt‚| |¡r\t‚dS)Nr!r&Trr')rZ    identicalrÚcopy)rZci1Zci2rrrÚtest_identicalós
z#TestCategoricalIndex.test_identicalcCsXt|jdd}t ||¡t |jj|jj¡r2t‚t|jdd}|jj|jjksTt‚dS)NT)rbF)    rÚvaluesrr*r-Z shares_memoryÚ_dataÚ_codesr)rrr2rrrÚtest_ensure_copied_dataús
 z,TestCategoricalIndex.test_ensure_copied_datacCs>tjddddgitdddgƒd}t|ƒ}d    }||ks:t‚dS)
NÚAr(r?r@r!r&r'rz   A
a  1
b  2
c  3)r/Z    DataFramerrYr)rZdfr2r3rrrÚtest_frame_reprs"z$TestCategoricalIndex.test_frame_reprcCsdS©NrrrrrÚtest_reindex_basesz&TestCategoricalIndex.test_reindex_basecCsdSrjrrrrrÚ test_map_strsz!TestCategoricalIndex.test_map_str)!Ú__name__Ú
__module__Ú __qualname__rrÚpytestZfixturerrrr r5r9r>ÚmarkÚ parametrizerrFrJr-r_ÚzerosZbool_rRr.rTr\rarcrgrirkrlrrrrr
s‚
&þ
" ýý
ýý
ýý
ýýäþ)
üþ    
 r
c
@s¬eZdZdd„Zej deje    j
fej e    j fej e    jfeje    jfg¡dd„ƒZej ddd„d    fd
d„d fd d„d    fd d„d fdd„dfdd„dfg¡dd„ƒZdd„ZdS)ÚTestCategoricalIndex2c    Cs¤t d¡}d}tjt|d| d¡W5QRXtjt|d|j d¡W5QRX|dd…}| d¡}|jj d¡}t ||¡|j}t | d¡|¡dS)Nrz;When changing to a larger dtype, its size must be a divisor©ÚmatchÚi8éüÿÿÿ)    rrrpÚraisesr=ÚviewreÚcodesrP)rr1ÚmsgÚresr3ÚcatrrrÚ test_view_i8s
 
 z"TestCategoricalIndex2.test_view_i8zdtype, engine_typecCs†|tjkr2tjdtjdtjdi|}tt|ƒƒ}n,ttdƒƒ}|jj     d¡}t
  |j ||j ¡t |jj |¡srt‚t|j|ƒs‚t‚dS)Nr(é€i€Úint64)r-rÚint8Úint16Úint32rÚrangerdZ_ndarrayr+rÚ__init__rer7Z
issubdtyper{rÚ
isinstanceZ_engine)rr7Z engine_typeZ num_uniquesr1ZarrrrrÚtest_engine_type,s
 
 z&TestCategoricalIndex2.test_engine_typez func,op_namecCs||Srjr©rrrrÚ<lambda>GózTestCategoricalIndex2.<lambda>Ú__sub__cCs||Srjrr‰rrrrŠHr‹Ú__add__cCs |ddgS©Nr!r&rr‰rrrrŠIr‹cCs |ddgSrŽrr‰rrrrŠJr‹cCs ddg|SrŽrr‰rrrrŠKr‹Ú__rsub__cCs ddg|SrŽrr‰rrrrŠLr‹Ú__radd__c    CsXttddgƒƒ}d}d d|›ddd|›g¡}tjt|d    ||ƒW5QRXdS)
Nr!r&z-'(Categorical|list)' and '(Categorical|list)'ú|zcannot perform z' with this index type: CategoricalIndexzcan only concatenate listz)unsupported operand type\(s\) for [\+-]: ru)rrÚjoinrpryÚ    TypeError)rÚfuncZop_namerZ cat_or_listr|rrrÚtest_disallow_addsub_opsDs
ýÿz.TestCategoricalIndex2.test_disallow_addsub_opsc    CsÂttdƒtdƒd}| tdƒ¡}t |ttdƒtdƒd¡ttdƒtdƒd}| tdƒ¡}t |ttdƒtdƒd¡| dd„¡}t |ttd    ƒtd
ƒd¡ttdƒtdƒd}| d g¡}t |ttdƒtd ƒd¡ttdƒtdƒd}| d g¡}t |ttdƒtj    gdgtdƒd¡ttdƒtdƒd}| 
¡}t ||¡ttdƒtdƒd}|  ¡}t |ttdƒtdƒdd¡d}t j t|d|jtdƒddW5QRXdS)Nr Zcabdefrr ZefgZffggefcSs| ¡Srj)Úupper)ÚxrrrrŠlr‹z>TestCategoricalIndex2.test_method_delegation.<locals>.<lambda>ZAABBCAZCABr%Zcabdr'Zaabbr!ÚabTrz(cannot use inplace with CategoricalIndexru)Zinplace)rrr`rr*Zrename_categoriesZadd_categoriesZremove_categoriesr-r.Z as_unorderedZ
as_orderedrpryr=)rr1r2r|rrrÚtest_method_delegation^sRÿÿÿ ÿ  þ þz,TestCategoricalIndex2.test_method_delegationN)rmrnrorrprqrrr-r‚ÚlibindexZ
Int8EnginerƒZ Int16Enginer„Z Int32EnginerZ Int64Enginerˆr•r™rrrrrts,
 
 
 
üþ    
 
 
 
 
 
 
úþ
rt)Únumpyr-rpZ pandas._libsrršZpandas._libs.arraysrZpandasr/rrZpandas._testingZ_testingrZpandas.core.indexes.apirrZpandas.tests.indexes.commonr    r
rtrrrrÚ<module>s