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
U
®ý°dn%ã@svddlZddlZddlZddlmZmZmZmZm    Z    m
Z
m Z m Z ddl mZddlmZddlmZGdd„dƒZdS)éN)Ú CategoricalÚ    DataFrameÚIndexÚSeriesÚ    TimestampÚ
date_rangeÚ period_rangeÚtimedelta_range)ÚCategoricalAccessor)Ú
Propertiesc @sÊeZdZej ddd„dd„dd„dd„dd„dd„d    d„d
d„g¡d d „ƒZd d„Zdd„Zdd„Z    dd„Z
ej de ddde dddde dddde ddƒg¡dd „ƒZd!d"„Zd#d$„Zd%d&„Zd'S)(ÚTestCatAccessorÚmethodcCs|j dddg¡S©Nééé)ÚcatÚset_categories©Úx©rúfd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/accessors/test_cat_accessor.pyÚ<lambda>ózTestCatAccessor.<lambda>cCs|jjdddgddS)NrrrT©Úordered)rZreorder_categoriesrrrrrrcCs|j dddg¡Sr)rÚrename_categoriesrrrrrrcCs
|j ¡S©N)rÚremove_unused_categoriesrrrrrrcCs|j dg¡S)Nr)rZremove_categoriesrrrrrrcCs|j dg¡S)Né)rZadd_categoriesrrrrrrcCs
|j ¡Sr)rÚ
as_orderedrrrrrrcCs
|j ¡Sr)rÚ as_unorderedrrrrr rcCs6tdddgdd d¡}d}||ƒj}||ks2t‚dS)NrrrÚA)ÚnameÚcategory)rÚastyper#ÚAssertionError)Úselfr ÚserÚexpectedÚresultrrrÚ!test_getname_categorical_accessors
z1TestCatAccessor.test_getname_categorical_accessorcCs¦ttddtjdgƒƒ}t |jjtddgƒ¡|jj    r>t
dƒ‚tddtjdgddgd}|j  ddg¡}t  |j |¡d|dd…<|j ¡}t |jjtdgƒ¡dS)NÚaÚbF©Ú
categories)rrÚnpÚnanÚtmÚassert_index_equalrr/rrr&rZassert_categorical_equalÚvaluesr)r'r(ÚexpÚresrrrÚtest_cat_accessor*s 
z!TestCatAccessor.test_cat_accessorc    Csltjtkst‚ttdƒƒ d¡}t|jtƒs0t‚tdgƒ}tjt    dd |jW5QRXt
|dƒrht‚dS)NÚaabbcder$rzonly use .cat accessor©Úmatchr) rrr
r&Úlistr%Ú
isinstanceÚpytestÚraisesÚAttributeErrorÚhasattr)r'r(ÚinvalidrrrÚtest_cat_accessor_api8s
z%TestCatAccessor.test_cat_accessor_apic    Cs8ttdƒƒ d¡}tjtddd|j_W5QRXdS)Nr8r$z You cannot add any new attributer9r,)rr;r%r=r>r?rZxlabel)r'rrrrÚ#test_cat_accessor_no_new_attributesDsz3TestCatAccessor.test_cat_accessor_no_new_attributesc    Cs(d}tjt|dtdddgƒjW5QRXtjt|dtdddgƒ ¡W5QRXtjt|dtdddgƒjW5QRXtjt|dtt d    ¡ƒjW5QRXtjt|dttd
ƒgƒjW5QRXttddddgd d ƒ}t    dddgƒ}t
  |jj |¡|j  dddg¡}t    dddgƒ}t
  |jj |¡td ddd gdd}t
 |jj|¡|jjspt‚|j ¡}|jjrˆt‚|j ¡}|jjs t‚ttddddgd d ƒ}t    dddgƒ}tjddddgtjd}|j dddg¡}t
  |jj |¡t
 |j ¡|¡t
 | ¡|¡ttddddgdddgdƒ}t    ddgƒ}tjddddgtjd}|j ¡}t
  |jj |¡t
 |j ¡|¡t
 | ¡|¡d}tjt|d| ddddg¡W5QRXttddddgd d ƒ}|j  dd„¡}ttddddgdddgd dƒ}t
 ||¡dS)Nz3Can only use \.cat accessor with a 'category' dtyper9rrrr,r-Úcg@Z20130101TrrZint8©Údtyper.z1'Series' object has no attribute 'set_categories'rcSs| ¡Sr)Úupperrrrrrˆrz>TestCatAccessor.test_categorical_delegations.<locals>.<lambda>r"ÚBÚC©r/r)r=r>r?rrr0Zarangerrrr2r3r/rZassert_series_equalÚcodesrr&r!r ÚarrayZobject_rZassert_numpy_array_equalr4Z    __array__r)r'Úmsgr(Zexp_categoriesZ    exp_codesZ
exp_valuesr*r)rrrÚtest_categorical_delegationsJs^
 
 
ÿz,TestCatAccessor.test_categorical_delegationsÚidxz1/1/2015é)ÚperiodsZMET)rQÚtzÚD)ÚfreqrQz1 daysz10 daysc
sªt|ƒ}| d¡}t|jƒj‰t|jtƒs.t‚ddifddifddifddifddifd    d
ifg}|j    d kr‚d d if}| 
|¡n |j    j dkr¢ddif}| 
|¡dd„|Dƒ‰dd dg‰‡‡‡fdd„t |jƒDƒ}dd„|Dƒ}|D] }|dt |jƒkrè| 
|¡qè|D]f\}    }
} t  ¡@|    dkr8t  dt¡t|j|    ƒ|
| Ž} t|j|    ƒ|
| Ž} W5QRXt | | ¡qˆD]*}t|j|ƒ} t|j|ƒ} t | | ¡qzdS)Nr$Ústrftime)z%Y-%m-%dÚround)rSÚfloorÚceilZasfreqZas_unitÚszM8[ns]Z tz_localize)ÚUTCÚMZ
tz_convert)ÚESTcSsg|] }|d‘qS)rr)Ú.0ÚfrrrÚ
<listcomp>´szHTestCatAccessor.test_dt_accessor_api_for_categorical.<locals>.<listcomp>Ú
componentscs2g|]*}| d¡s|ˆks|ˆks|ˆks|‘qS)Ú_)Ú
startswith©r]Úfname©Z _ignore_namesZ_special_func_namesZ
attr_namesrrr_¸s 
úcSsg|]}|dif‘qS)rrrcrrrr_ÃsrZ    to_periodÚignore)rr%ÚtypeZ_valuesZ_datetimelike_opsr<Údtr r&rFÚappendÚkindÚdirÚwarningsÚcatch_warningsÚ simplefilterÚ UserWarningÚgetattrr2Z assert_equal)r'rOr(rZspecial_func_defsÚtupZ
func_namesZ    func_defsZf_defÚfuncÚargsÚkwargsr6r5ÚattrrrerÚ$test_dt_accessor_api_for_categoricalŽsJ 
 ú
 
 
 
 
þ  
 
   z4TestCatAccessor.test_dt_accessor_api_for_categoricalc    CsJtdddgƒ d¡}d}tjt|d |jW5QRXt|dƒrFt‚dS)Nrrrr$z+Can only use .dt accessor with datetimeliker9Ústr)rr%r=r>r?rhr@r&)r'rArMrrrÚ,test_dt_accessor_api_for_categorical_invalidÙs
z<TestCatAccessor.test_dt_accessor_api_for_categorical_invalidcCsîtdddgdddgdœdd}|dj ddg¡|d<|d    j d
d g¡|d    <t|d    ƒd
d d gksht‚t|dƒdddgks‚t‚t|d    d
d gd d |d    <t|dddgd d |d<t|d    ƒd
d d gksÐt‚t|dƒdddgksêt‚dS)Nrr)ÚSurvivedÚSexr$rEryZNoZYesrzZfemaleZmaleFrJ)rrrr;r&r)r'ÚdfrrrÚtest_set_categories_setitemásÿ
z+TestCatAccessor.test_set_categories_setitemcCsHtdddgdddgdœdd}|d    jjj}t tj¡}||ksDt‚dS)
NrrrTF)Zint_catÚbool_catr$rEr})rrr/rFr0Zbool_r&)r'r{Úvaluer)rrrÚ'test_categorical_of_booleans_is_booleanösÿ z7TestCatAccessor.test_categorical_of_booleans_is_booleanN)Ú__name__Ú
__module__Ú __qualname__r=ÚmarkZ parametrizer+r7rBrCrNrrr    rvrxr|rrrrrr s:øþ
 D
  üþ    
Br )rlÚnumpyr0r=Zpandasrrrrrrrr    Zpandas._testingZ_testingr2Zpandas.core.arrays.categoricalr
Zpandas.core.indexes.accessorsr r rrrrÚ<module>s(