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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
U
®ý°d^ã@sÚddlmZmZddlmZddlZddlZddlZddlZddl    m
Z
ddl m m ZddlmZmZmZmZmZmZmZmZmZmZmZmZddlmZGdd„dƒZGdd    „d    ƒZ Gd
d „d ƒZ!Gd d „d ƒZ"dS)é)ÚdatetimeÚ    timedelta)ÚreloadN)ÚiNaT) ÚNAÚ CategoricalÚCategoricalDtypeÚDatetimeTZDtypeÚIndexÚIntervalÚNaTÚSeriesÚ    TimedeltaÚ    TimestampÚcutÚ
date_rangec@s6eZdZdd„Zdd„Zej dee    g¡dd„ƒZ
dS)    Ú TestAstypeAPIc    Cs¶tdddgdd}| ¡}d}tjt|d| tj¡W5QRXtjt|d| tj¡W5QRXtjt|d| d¡W5QRXtjt|d| d¡W5QRXdS)Nz
1970-01-01údatetime64[ns]©Údtypez8Casting to unit-less dtype 'datetime64' is not supported©ÚmatchÚ
datetime64)r Úto_frameÚpytestÚraisesÚ    TypeErrorÚastypeÚnpr)ÚselfÚserZdfÚmsg©r"ú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/methods/test_astype.pyÚ test_astype_unitless_dt64_raises!sz.TestAstypeAPI.test_astype_unitless_dt64_raisesc    CsPtdddgƒ}d}tjt|d|jtjddW5QRX|jtjdddS)    Néééz_Expected value of kwarg 'errors' to be one of \['raise', 'ignore'\]\. Supplied value is 'False'rF©ÚerrorsÚraise)r rrÚ
ValueErrorrrÚfloat64Úint8)rr r!r"r"r#Útest_arg_for_errors_in_astype0s ÿz+TestAstypeAPI.test_arg_for_errors_in_astypeÚ dtype_classc     Cs4ttdddƒdd}|dtiƒ}| |¡}tdddd    d
gdd}t ||¡|dd iƒ}| |¡}td d dddgd dd}t ||¡|ttdœƒ}d}tjt|d| |¡W5QRX|dtiƒ}    tjt|d| |    ¡W5QRX|tkr|it    d}
n|iƒ}
tjt|d| |
¡W5QRXdS)Nré
r&Úabc©ÚnameÚ0Ú2Ú4Ú6Ú8r,gg@g@g@g @©rr3)r1ÚdefzGOnly the Series name can be used for the key in Series dtype mappings\.rr)
r ÚrangeÚstrrÚtmÚassert_series_equalrrÚKeyErrorÚobject) rr/r Zdt1ÚresultÚexpectedZdt2Zdt3r!Zdt4Zdt5r"r"r#Útest_astype_dict_like=s, 
 
 ÿ 
z#TestAstypeAPI.test_astype_dict_likeN) Ú__name__Ú
__module__Ú __qualname__r$r.rÚmarkÚ parametrizeÚdictr rCr"r"r"r#r s rc @sšeZdZdd„Zej dejd¡dd„ƒZ    ej de
ej g¡ej de e jde d    ¡e d
¡e d ¡gƒe e jde d    ¡e d
¡ejd gƒg¡d d„ƒƒZdd„Zdd„Zej dejejg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zej d%d&d'd(gd)fej d&d'd(gd*e! "d+¡d,d&d'd(gd-fd.e#d/d0d1gd2fd.e$d3d4ƒgd2fg¡ej d5d6d7g¡d8d9„ƒƒZ%ej dej&ej'ej(g¡d:d;„ƒZ)ej d<d=ejd>fe*d?fg¡d@dA„ƒZ+ej ddBdCdDdEg¡dFdG„ƒZ,ej dHejej-g¡ej dej.ej/g¡dIdJ„ƒƒZ0ej de1ej2ej/g¡dKdL„ƒZ3dMdN„Z4dOdP„Z5dQdR„Z6dSdT„Z7dUdV„Z8ej dej9ej:¡dWdX„ƒZ;dYdZ„Z<d2S)[Ú
TestAstypecCs\tddd}| d¡}t||gtd}| d¡}t| d¡| d¡gdd}t ||¡dS)Nz2016-01-04 05:06:07ú
US/Pacific©Útzz
Asia/Tokyorzdatetime64[ns, Europe/Brussels]zEurope/Brussels)rÚ
tz_convertr r@rr=r>)rÚtsZts2r ÚresrBr"r"r#Ú"test_astype_mixed_object_to_dt64tzds 
 
þz-TestAstype.test_astype_mixed_object_to_dt64tzrZAllcCs2|dkr.tg|d}tgƒ |¡}t ||¡dS)N)ÚSÚVÚMÚmr)r rr=r>)rrZ
init_emptyZ as_type_emptyr"r"r#Ú&test_astype_empty_constructor_equalityrs z1TestAstype.test_astype_empty_constructor_equalityÚseriesr0é?é@éègð?cCs$| |¡}| t¡}t ||¡dS©N)rÚmapr<r=r>)rrrWrArBr"r"r#Útest_astype_str_map€s
 
 
zTestAstype.test_astype_str_mapcCs0ttjgƒ d¡}ttgdd}t ||¡dS)Nz    period[D]r)r rÚnanrr r=r>©rrArBr"r"r#Útest_astype_float_to_periodŽsz&TestAstype.test_astype_float_to_periodcCs.tddgdd}| |jj¡}t ||¡dS)Nr%r&Úint64r)r rÚarrayrr=r>)rr rAr"r"r#Útest_astype_no_pandas_dtype“sz&TestAstype.test_astype_no_pandas_dtypec    Csvdg}t|ƒ}t |¡jdkr8tjjdd}|j |¡d|j    ›d|j    ›d}tj
t |d|  |¡W5QRXdS)    Nr%)Ú timedelta64rzGH#33890 Is assigned ns unit©ÚreasonzThe 'z&' dtype has no unit\. Please pass in 'z\[ns\]' instead.r) r rrr3rrGÚxfailÚnodeÚ
add_markerrDrr+r)rrÚrequestÚdatar rGr!r"r"r#Ú*test_astype_generic_timestamp_no_frequency›s ÿz5TestAstype.test_astype_generic_timestamp_no_frequencycCs<tddd}t|ƒ t¡}tdddgtd}t ||¡dS)Nú
2012-01-01r'©Úperiodsz
2012-01-02z
2012-01-03r©rr rr<r@r=r>)rZdtirArBr"r"r#Útest_astype_dt64_to_str¬s z"TestAstype.test_astype_dt64_to_strcCs>tdddd}t|ƒ t¡}tdddgtd}t ||¡dS)    Nrmr'ú
US/Eastern©rorMú2012-01-01 00:00:00-05:00z2012-01-02 00:00:00-05:00z2012-01-03 00:00:00-05:00rrp)rZdti_tzrArBr"r"r#Útest_astype_dt64tz_to_str³sýúz$TestAstype.test_astype_dt64tz_to_strcCs¨ttdtdƒd}| d¡}|jtjks,t‚ttdddddƒgƒ}| d¡}|jtjks\t‚td    d
„td ƒDƒƒ}tj    |d<|jdksŠt‚| d¡}|jtjks¤t‚dS) NzM8[ns]é)rÚindexÚOéÑr%r&rcSsg|]}tdddddƒ‘qS)ryr%r&r)r©Ú.0Úir"r"r#Ú
<listcomp>Ìsz3TestAstype.test_astype_datetime.<locals>.<listcomp>r')
r rr;rrrÚobject_ÚAssertionErrorrr^©rr r"r"r#Útest_astype_datetimeÁs
 
 
 
zTestAstype.test_astype_datetimec    Csttddddƒ}| t¡}t| t¡td}t ||¡t|jƒj d¡j     |jj
¡}t ||¡t| t¡ƒ}| t¡}t ||¡d}t j t |dt|jƒ d    ¡W5QRXt j t |dt|jƒ |j¡W5QRX| d
¡}ttd dd dƒ}t ||¡dS) NÚ20130101r'rrrsrÚUTCz1Cannot use .astype to convert from timezone-naiverúdatetime64[ns, US/Eastern]zdatetime64[ns, CET]z20130101 06:00:00ZCET)r rrr@r=r>ÚvaluesÚdtZ tz_localizerNrMrrrr)rr rArBr!r"r"r#Útest_astype_datetime64tzÔs"
 
 
z#TestAstype.test_astype_datetime64tzcCsdttdƒgƒ}| t¡}tdgƒ}t ||¡ttdddgƒ}| t¡}tdgƒ}t ||¡dS)Nz2010-01-04 00:00:00z
2010-01-04rrrLz2010-01-04 00:00:00-05:00)r rrr<r=r>)rrOrPrBr"r"r#Útest_astype_str_cast_dt64òs
 
 
 
z$TestAstype.test_astype_str_cast_dt64cCs6ttdddgƒ}| t¡}tdgƒ}t ||¡dS)Nr%Úd)Úunitz1 days)r rrr<r=r>)rÚtdr rBr"r"r#Útest_astype_str_cast_td64s
 
z$TestAstype.test_astype_str_cast_td64cCsBttdddƒ}| t¡}t|jdtƒs.t‚|jt    j
ks>t‚dS)Nr‚r'rnr) r rrr@Ú
isinstanceÚilocrrrrr~)rZdt64serrAr"r"r#Útest_dt64_series_astype_object    s
z)TestAstype.test_dt64_series_astype_objectcCsDtdddgdd}| t¡}t|jdtƒs0t‚|jtj    ks@t‚dS)Nú59 Daysr útimedelta64[ns]rr)
r rr@rrŽrrrrr~)rZtdserrAr"r"r#Útest_td64_series_astype_objects
z)TestAstype.test_td64_series_astype_objectú data, dtypeÚxÚyÚzzstring[python]zstring[pyarrow]Zpyarrow)ZmarksÚcategoryr'z
2020-01-01rƒrLNrr%r)r*Úignorec    Csht||d}|dkr4|}|jtdd}t ||¡n0d}tjttf|d|jt|dW5QRXdS)Nrr˜r(z!(Cannot cast)|(could not convert)r)    r rÚfloatr=r>rrr+r)rrkrr)r rBrAr!r"r"r#Ú/test_astype_ignores_errors_for_extension_dtypess z:TestAstype.test_astype_ignores_errors_for_extension_dtypescCs2tdg|d}| t¡}tdgƒ}t ||¡dS)Ngš™™™™™¹?rz0.1)r rr<r=r>©rrr rArBr"r"r#Útest_astype_from_float_to_str0s
 
z(TestAstype.test_astype_from_float_to_strzvalue, string_value)NÚNoner^z<NA>cCs>tdd|gtd}| t¡}tdd|gtd}t ||¡dS)NÚaÚbr)r r@rr<r=r>)rÚvalueZ string_valuer rArBr"r"r#Útest_astype_to_str_preserves_na8s
 
z*TestAstype.test_astype_to_str_preserves_naÚfloat32r,raÚint32cCs@ttj d¡dd}| |¡}|j|ks,t‚|j|jks<t‚dS)NrvÚfoor2)r rÚrandomZrandnrrrr3)rrr Zas_typedr"r"r#Ú test_astypeGs
zTestAstype.test_astyper c    Cs6d}t|gƒ}tjt|d| |¡W5QRXdS)Nz9Cannot convert non-finite values \(NA or inf\) to integerr©r rrr+r)rrr r!r r"r"r#Útest_astype_cast_nan_inf_intOs
z'TestAstype.test_astype_cast_nan_inf_intc    Cs<tddddgƒ}d}tjt|d| |¡W5QRXdS)NZcarZhouseÚtreeÚ1z/invalid literal for int\(\) with base 10: 'car'rr§)rrÚarrr!r"r"r#Ú test_astype_cast_object_int_failYsz+TestAstype.test_astype_cast_object_int_failc    Cs¾t d¡ |¡d}t|ƒ}d}tjt|d| |¡W5QRXtjt|d| ¡ |¡W5QRXtjt|dt|ƒ |¡W5QRXtjt|d|j     |¡W5QRXdS)Nrvr'z$Cannot losslessly cast from .* to .*r)
rÚarangerr rrr+rr
rb)rZfloat_numpy_dtypeZany_unsigned_int_numpy_dtyper«r r!r"r"r#Ú)test_astype_float_to_uint_negatives_raise`sz4TestAstype.test_astype_float_to_uint_negatives_raisecCs:tddddgtd}| t¡}t |tt dd¡ƒ¡dS)Nrªr5Ú3r6rr%rv)r r@rÚintr=r>rr­)rr«rAr"r"r#Útest_astype_cast_object_intvs
z&TestAstype.test_astype_cast_object_intc
CsÈtj}t|dt d¡t d¡t d¡gƒtdgƒg}d}t ¡dkrxd}t| ¡gƒ}| d¡}t|gƒ}t     ||¡|D]$}| d¡}| 
t ¡}    t     ||    ¡q||dk    rÄ|dkrÄt tƒt  |¡dS)    Nr0rXrYrZu<データーサイエンス、お前はもう死んでいるzutf-8u野菜食べないとやばいÚunicode)ÚstringÚdigitsr r=ÚrandsÚsysÚgetdefaultencodingÚencoderr>r\r<rZsetdefaultencoding)
rr´Z test_seriesZformer_encodingÚitemr rArBrPZexpecr"r"r#Útest_astype_unicode|s$$þ 
 
 
 
zTestAstype.test_astype_unicodecCs,tdddgƒ t¡}|jt d¡ks(t‚dS)Nr¤ÚbarZbazZS3)r rÚbytesÚdtypesrrr)rrAr"r"r#Útest_astype_bytesšszTestAstype.test_astype_bytescCs4ttjdd}| d¡}tddd}t ||¡dS)Nr@rÚboolT)r rr^rr=r>©rr rArBr"r"r#Útest_astype_nan_to_boolŸs
 z"TestAstype.test_astype_nan_to_boolcCsZtdddg|d}| tdd¡}ttdddtdddtd    ddd
œƒ}t ||¡dS) Néré    rrKrLz#1969-12-31 16:00:00.000000004-08:00z#1969-12-31 16:00:00.000000000-08:00z#1969-12-31 16:00:00.000000009-08:00)rr%r&)r rr    rr=r>r›r"r"r#Ú!test_astype_ea_to_datetimetzdtype¦s
 
 
ýÿz,TestAstype.test_astype_ea_to_datetimetzdtypecCs<tddddgƒ}d|jd<| |¡j}|j}t ||¡dS)Nrr%r&r'ZMichiganZLocation)r Úattrsrr=Zassert_dict_equal)rZany_numpy_dtyper rArBr"r"r#Útest_astype_retain_Attrs¹s
 
 z#TestAstype.test_astype_retain_Attrs)=rDrErFrQrrGrHrZ    typecodesrVr<Zstr_r r³r´r=rµr^r]r`rcrrdrlrqrurr‡rˆrŒrr’Úparamr‹Z
skip_if_norr ršÚfloat16r¢r,rœrr¡r¦Úinfr£rar¨r°r-r¬r®r±rºr¾rÁZALL_INT_EA_DTYPESZFLOAT_EA_DTYPESrÄrÆr"r"r"r#rJcs„
&$þþ 
     ý ÷þ 
ýþ
 
 
 
þ
rJc@s‚eZdZej ddegdfdegdfddgdfddegdfdegd    fd
d gd fd dgdfd degdfddegdfg    ¡dd„ƒZd S)ÚTestAstypeStringr“TÚbooleanÚAr—z
2020-10-10rrtr„r%NZUInt16z1/1/2021z2/1/2021z    period[M]z1 Dayrr‘cCs`|dks|dkr2t|kr2tjjdd}|j |¡t||d}| |¡ |j¡}t     
||¡dS)NrËr‘z6TODO StringArray.astype() with missing values #GH40566rer) r rrGrgrhrir rrr=r>)rrkrrjZnullable_string_dtyperGr rAr"r"r#Ú/test_astype_string_to_extension_dtype_roundtripÅsÿ  z@TestAstypeString.test_astype_string_to_extension_dtype_roundtrip)    rDrErFrrGrHrr rÍr"r"r"r#rÊÄs 
 
 
 þ
 
  ôþrÊc@s¬eZdZdd„Zdd„Zdd„Zej ddd    g¡ej d
d d g¡ej d d d g¡dd„ƒƒƒZ    dd„Z
dd„Z ej dddddgddddgg¡dd„ƒZ dd„Z dd „ZdS)!ÚTestAstypeCategoricalc
Csútdd„tdddƒDƒƒ}ttj d¡ ddd¡ƒ ¡}t|tdddƒd|d    }|}t     
|  d
¡|¡t     
|  t ƒ¡|¡d }t jt|d |  d ¡W5QRXttddddddddgƒƒ}tddddddddgƒ}t     
|  d¡|¡ttddddgƒƒ}tddddgƒ  d¡}t     
|  d¡|¡dd„}tt |j¡dd}||  d¡|ƒ||  tj¡|ƒt     t |¡t |j¡¡t     
|  d
¡|¡t     
|  t ƒ¡|¡|j |jj ¡¡j ¡}    |  d¡  d
¡}
t     
|
|    ¡|  d¡  t ƒ¡}
t     
|
|    ¡dS) NcSsg|]}|›d|d›‘qS©z - iór"rzr"r"r#r}ëszJTestAstypeCategorical.test_astype_categorical_to_other.<locals>.<listcomp>ré'éôédé)F©ÚrightÚlabelsr—z#Cannot cast object dtype to float64rr,ržrŸÚcr<rªr5r¯r6r%r&r'rÂr°cSs(t t t |¡¡t t |¡¡¡dSr[)r=Úassert_almost_equalrÚsortÚunique)ržrŸr"r"r#ÚcmpÿszCTestAstypeCategorical.test_astype_categorical_to_other.<locals>.cmpZ value_groupr2r@)rr;r rr¥Z RandomStateÚrandintÚ sort_valuesrr=r>rrrrr+rbr…r~rØÚcatZset_categoriesÚ
categoriesZremove_unused_categories) rrÞr rBr!ÚexpÚs2Zexp2rÛZroundtrip_expectedrAr"r"r#Ú test_astype_categorical_to_otherês:
ÿ
 z6TestAstypeCategorical.test_astype_categorical_to_otherc    Cs tdd„tdddƒDƒƒ}ttj ddd¡ƒ ¡}t|tdddƒd|d    }d
}tj    t
|d |  t¡W5QRXtj    t
|d |  d ¡  t¡W5QRXdS) NcSsg|]}|›d|d›‘qSrÏr"rzr"r"r#r}szUTestAstypeCategorical.test_astype_categorical_invalid_conversions.<locals>.<listcomp>rrÐrÑrÒrÓFrÔzKdtype '<class 'pandas.core.arrays.categorical.Categorical'>' not understoodrr@) rr;r rr¥rÜrÝrrrrr)rrÞr r!r"r"r#Ú+test_astype_categorical_invalid_conversionssÿzATestAstypeCategorical.test_astype_categorical_invalid_conversionscCsÞtdddgƒ}| tddgdd¡}ttdddgddƒ}t ||¡| tddgdd¡}ttdddgddƒ}t ||¡| tdddgdd¡}ttdddgdddgddƒ}t ||¡t |jjt    dddgƒ¡dS)NržrŸT©ÚorderedFrשrßrå)
r rrrr=r>Zassert_index_equalrÞrßr
rÀr"r"r#Útest_astype_categoricaldtype#s  ÿ z2TestAstypeCategorical.test_astype_categoricaldtyper3Nr¤Ú dtype_orderedTFÚseries_orderedc Cs¸tdƒ}ttdƒ|d}t|||d}t|d}| |¡}t|j|ƒ}    t|||    d}
t ||
¡ttdƒ|ƒ}| |¡}t|||d}
t ||
¡|dkr´|}
| d¡}t ||
¡dS)    NZ    abcaacbabZbacrär9)r3rZadcFr—)Úlistrr rrßr=r>) rr3rèréZs_dataZs_dtyper rrAZ    exp_dtyperBr"r"r#Ú&test_astype_categorical_to_categorical4s 
 
 
 
z<TestAstypeCategorical.test_astype_categorical_to_categoricalcCs`tddtjgƒ}|jtjks t‚| tddgd¡}ttddtjgddgdƒ}t     
||¡dS)NTF)rß) r rr^r½r~rrrrr=r>rÀr"r"r#Ú'test_astype_bool_missing_to_categoricalRs
z=TestAstypeCategorical.test_astype_bool_missing_to_categoricalc    Cs@tdddgƒ}tjtdd|jdddgddW5QRXdS)NržrŸzgot an unexpectedrr—Træ)r rrrrr€r"r"r#Útest_astype_categories_raises[sz3TestAstypeCategorical.test_astype_categories_raisesÚitemsržrŸr×r%r&r'cCs.t|ƒ}tt|ƒƒ}| d¡}t ||¡dS)Nr—)r rrr=r>)rrîr ràrPr"r"r#Útest_astype_from_categoricalas 
z2TestAstypeCategorical.test_astype_from_categoricalcCs~ddddg}t|ƒ}tt|ddƒ}| tddd¡}t ||¡tt|tdƒddƒ}| ttdƒdd¡}t ||¡dS)NržrŸr×TräZabcdefræ)r rrrr=r>rê)rÚlstr ràrPr"r"r#Ú*test_astype_from_categorical_with_keywordshs  z@TestAstypeCategorical.test_astype_from_categorical_with_keywordscCs:ttdƒtjgdd}ttdƒtgdd}t ||¡dS)Nr%r‘r)r rrr^r r=r>r_r"r"r#Ú#test_astype_timedelta64_with_np_nantsz9TestAstypeCategorical.test_astype_timedelta64_with_np_nan)rDrErFrârãrçrrGrHrërìrírïrñròr"r"r"r#rÎés*     
 rÎ)#rrÚ    importlibrr³r¶ÚnumpyrrZpandas._libs.tslibsrZpandas.util._test_decoratorsÚutilZ_test_decoratorsr‹Zpandasrrrr    r
r r r rrrrZpandas._testingZ_testingr=rrJrÊrÎr"r"r"r#Ú<module>s  8 Cc%