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
U
¬ý°d!ã@sfddlZddlZddlZddlmZddlZddlmZm    Z    m
Z
m Z m Z ddl mZGdd„dƒZdS)éN)ÚCategoricalDtype)Ú CategoricalÚ    DataFrameÚIndexÚSeriesÚisnac @seZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zej     
d d d dœdfidfddidfde d ddddgƒidfg¡dd„ƒZ ej     
dddg¡dd „ƒZ d!d"„Zej     
d#d ddge dddg¡fd dejge dddg¡fd dejge dddg¡fd dejge dddg¡fg¡d$d%„ƒZej     
d#d ddge dddg¡fd dejge dddg¡fd dejge dddg¡fd dejge dddg¡fg¡d&d'„ƒZej     
d(dd)d*gejdd)gdd)d*gfd ddgejd dgd ddgfg¡d+d,„ƒZej     
d-ejd.fd/ejd0fejd0fg¡d1d2„ƒZd3S)4ÚTestCategoricalMissingcCs8t dddg¡}tddtjgƒ}| ¡}t ||¡dS)NFTÚaÚb)ÚnpÚarrayrÚnanrÚtmÚassert_numpy_array_equal)ÚselfÚexpÚcatÚres©rúcd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/arrays/categorical/test_missing.pyÚ    test_isnasz TestCategoricalMissing.test_isnacCsXttdƒƒ}tj ddd¡}d|ddd…<t||dd}t|ƒt t    |ƒ|dk¡dS)Né
rééÿÿÿÿéT)Zfastpath)
ÚlistÚranger ÚrandomÚrandintrÚreprrrr)rÚ
categoriesÚlabelsrrrrÚtest_na_flags_int_categoriess  z3TestCategoricalMissing.test_na_flags_int_categoriescCsÚtddtjdgƒ}t |jtddgƒ¡t |jtj    ddddgtj
d¡tj|d<t |jtddgƒ¡t |jtj    ddddgtj
d¡tddtjdgƒ}t |jtddgƒ¡t |jtj    ddddgtj
d¡dS)Nr    r
rér©Údtype) rr r rÚassert_index_equalr rrÚ_codesr Úint8)rÚcrrrÚtest_nan_handling's"
"z(TestCategoricalMissing.test_nan_handlingcCsDtddtjgƒ}| tddgƒ¡}t |jtjdddgdd¡dS)Nr    r
r)rrr(r$)    rr r Z
_set_dtyperrrÚcodesr )rr)ÚresultrrrÚtest_set_dtype_nans6sz*TestCategoricalMissing.test_set_dtype_nanscCsBtdddgƒ}tj|d<tdtjdgdddgd}t ||¡dS)Nr#éé)r )rr r rÚassert_categorical_equal)rrrrrrÚtest_set_item_nan;s
z(TestCategoricalMissing.test_set_item_nanzfillna_kwargs, msgr#Zffill)ÚvalueÚmethodz)Cannot specify both 'value' and 'method'.z(Must specify a fill 'value' or 'method'.r3Úbadz%Invalid fill method. Expecting .* badr2r.r/ér    ú3Cannot setitem on a Categorical with a new categoryc    CsZtdddddgƒ}t|ƒdkr,d|kr,t}nt}tj||d|jf|ŽW5QRXdS)Nr#r.r/r2©Úmatch)rÚlenÚ    TypeErrorÚ
ValueErrorÚpytestÚraisesÚfillna)rZ fillna_kwargsÚmsgrÚerrrrrÚtest_fillna_raisesBs z)TestCategoricalMissing.test_fillna_raisesÚnamedTFc    CsÐ|rt dd¡}ndd„}ttj|ddƒ|ddƒdgtdƒ}| |ddƒ¡}t|ddƒ|ddƒ|ddƒgƒ}t ||¡ttj|ddƒ|ddƒdgtdƒ}d}t    j
t |d    | |ddƒ¡W5QRXdS)
NÚPointzx ycWs|S)Nr)ÚargsrrrÚ<lambda>dózFTestCategoricalMissing.test_fillna_iterable_category.<locals>.<lambda>rr#r$r6r7) Ú collectionsÚ
namedtuplerr r Úobjectr>rr0r<r=r:)rrBrCrr,Úexpectedr?rrrÚtest_fillna_iterable_category^s$  $z4TestCategoricalMissing.test_fillna_iterable_categorycCs˜tdddddgƒ}| d¡}| |¡}t ||¡t|dƒsBt‚t dddddg¡}| |¡}tdddddg|jd}t ||¡t|dƒs”t‚dS)NÚAÚBÚCrr$)    rr>rr0rÚAssertionErrorr r r%)rrÚotherr,rJrrrÚtest_fillna_arrayrs
 
 
 z(TestCategoricalMissing.test_fillna_arrayzvalues, expectedc    Csxt dd¡bt|ƒ}| ¡}t ||¡t|ƒ ¡}t|ƒ}t ||¡t|ƒ ¡}t|ƒ}t     ||¡W5QRXdS©Nzmode.use_inf_as_naT)
ÚpdÚoption_contextrrrrrÚassert_series_equalrÚassert_frame_equal©rÚvaluesrJrr,rrrÚtest_use_inf_as_nas     z)TestCategoricalMissing.test_use_inf_as_nac    Csxt|ƒ}t dd¡Zt|ƒ}t ||¡tt|ƒƒ}t|ƒ}t ||¡tt|ƒƒ}t|ƒ}t     ||¡W5QRXdSrR)
rrSrTrrrrrUrrVrWrrrÚ"test_use_inf_as_na_outside_context™s     z9TestCategoricalMissing.test_use_inf_as_na_outside_contextza1, a2, categoriesr
r)cCstt|ƒ}t||dt||dk}t|ƒt|ƒk}t ||¡t||dt||dk}t|ƒt|ƒk}t ||¡dS©Nr$)rrrrU)rZa1Za2r Zcat_typer,rJrrrÚ%test_compare_categorical_with_missing³s     z<TestCategoricalMissing.test_compare_categorical_with_missingzna_value, dtypezdatetime64[ns])NÚfloat64r]cCs&t||gƒ}t |jtg|d¡dSr[)rrr&r r)rZna_valuer%r,rrrÚ,test_categorical_only_missing_values_no_castÈs zCTestCategoricalMissing.test_categorical_only_missing_values_no_castN)Ú__name__Ú
__module__Ú __qualname__rr"r*r-r1r<ÚmarkZ parametrizerrArKrQr r r ÚinfrSZNArYrZr\ZNaTr^rrrrrsn þ
þùþ
 
üþ    
üþ    
þþ
üþ    r)rGÚnumpyr r<Zpandas.core.dtypes.dtypesrZpandasrSrrrrrZpandas._testingZ_testingrrrrrrÚ<module>s