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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
U
­ý°d"´ã@s@ddlmZddlZddlZddlmmZddlm    Z
ddl m Z m Z mZddlmZmZmZmZddlZddlmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%ddl&m'Z(ddl)m*Z*ddl+m,Z,Gd    d
„d
ƒZ-Gd d „d ƒZ.Gd d„dƒZ/Gdd„dƒZ0Gdd„dƒZ1Gdd„dƒZ2Gdd„dƒZ3dS)é)ÚdatetimeN)Ú    _registry)Úis_categorical_dtypeÚis_interval_dtypeÚis_object_dtype)ÚCategoricalDtypeÚDatetimeTZDtypeÚ IntervalDtypeÚ PeriodDtype)Ú CategoricalÚ    DataFrameÚ DatetimeIndexÚIndexÚIntervalÚ IntervalIndexÚ
MultiIndexÚNaTÚPeriodÚ PeriodIndexÚSeriesÚ    TimestampÚcutÚ
date_rangeÚnotnaÚ period_range)Ú SparseArray)ÚBDayc@süeZdZdd„Zej ddddddd    g¡d
d „ƒZd d „Zdd„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zej d$ed%ƒed&ƒfed'd(d)edd*ƒfed+d,d-ed,d-fg¡d.d/„ƒZej d0d1d2„ejDƒd3d4g¡d5d6„ƒZd7d8„Zej d9d:d;d<d=d>d&d?g¡d@dA„ƒZej d9d:d;d<d=d>d&d?g¡dBdC„ƒZ dDdE„Z!dFdG„Z"dHdI„Z#ej ddJdKdLg¡dMdN„ƒZ$ej dOdPdPgg¡dQdR„ƒZ%dSdT„Z&dUdV„Z'ej dWdXdYdZgdXdXdXgg¡d[d\„ƒZ(d]d^„Z)d_d`„Z*dadb„Z+dcdd„Z,dedf„Z-ej dgdhd>d>dXgdidjdkdlgdlfd>dhd>dXgdidjdkdlgdlfdhdPdPdXgdidjdkdlgdlfdhdPdXgdidjdkgdkfdPdhdXgdkdjdigdifdhdXdPgdkdjdigdjfg¡dmdn„ƒZ.dodp„Z/ej dqdrdPdhd>gdse0dsdsdsdsgdsdsdsdsgdsdsdsdsggdrdPdhd>gdtfdhd>gdsduge0didjdsdugdkdldsdugd(dvdsduggdrdPdhd>gdtfdrdPdhge1j2dsdudwge1j3dxe0dsdudwgdsdudwgdsdudwggdrdPdhgdtfdPdhd>gdsdudwgdydzd{gd|d}d~gge0didsdudwgdkdydzd{gd(d|d}d~ggdrdPdhd>gdtfdhdrd>ge1j2dsdudwgdydzd{gd|d}d~gge1j3dxe0dudjdsdwgdzdldyd{gd}dvd|d~ggdrdPdhd>gdtfdrdhge0dsdugdwdygdzd{ggdrdhgdte0dsdjdugdwdldygdzdvd{ggdrdPdhgdtfg¡dd€„ƒZ4dd‚„Z5dƒd„„Z6d…d†„Z7d‡dˆ„Z8d‰dŠ„Z9d‹dŒ„Z:e;j<ddŽ„ƒZ=ej diddXig¡d‘d’„ƒZ>d“d”„Z?d•d–„Z@d—d˜„ZAd™S)šÚTestDataFrameSetItemcCsvGdd„dtƒ}dg}t|ƒ}tddgi|d}d|d<d    ||d
ƒ<tddgddg|d
ƒd    gi|d}t ||¡dS) Nc@s eZdZdS)z@TestDataFrameSetItem.test_setitem_str_subclass.<locals>.mystringN)Ú__name__Ú
__module__Ú __qualname__©r!r!ú_d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/indexing/test_setitem.pyÚmystring1sr#z2020-10-22 01:21:00+00:00Úaé©ÚindexéÚbéÚc)Ústrr r ÚtmZ assert_equal)Úselfr#Údatar'ÚdfÚexpectedr!r!r"Útest_setitem_str_subclass/s "z.TestDataFrameSetItem.test_setitem_str_subclassÚdtypeÚint32Úint64Úuint32Zuint64Úfloat32Úfloat64cCs:tj t|ƒ¡}tj||d||<||jj|ks6t‚dS)N©r3)ÚnpÚrandomÚrandnÚlenÚarrayr3ÚnameÚAssertionError)r.r3Ú float_frameÚarrr!r!r"Útest_setitem_dtype<sz'TestDataFrameSetItem.test_setitem_dtypecCs8tj t|ƒd¡}||ddg<t |ddgj|¡dS)Nr(ÚAÚB)r:r;r<r=r-Zassert_almost_equalÚvalues)r.rAr/r!r!r"Útest_setitem_list_not_dataframeEs z4TestDataFrameSetItem.test_setitem_list_not_dataframec    CsÐtdddgdddgdœtdd    d
gd d d }tddddgtdd    d
dgd d dd}d}tjt|d||d<W5QRXttj ddd¡dd    d
dgd}d}tjt|d|     d    d
g¡ 
¡|d<W5QRXdS)Nr%r(r*ÚdÚeÚf)ÚbarZbazr$r)r+Úfoo©r?r&ÚgÚhÚiÚjZfiz©r'r?z/cannot reindex on an axis with duplicate labels©ÚmatchZnewcolr)érU©ÚcolumnszDCannot set a DataFrame with multiple columns to the single column grZgr) r rrÚpytestÚraisesÚ
ValueErrorr:r;ÚrandintÚgroupbyÚcount)r.r0ÚserÚmsgr!r!r"Útest_setitem_error_msmgsJs þ
ý z-TestDataFrameSetItem.test_setitem_error_msmgscCshd}d}tt|ƒd}tj |¡}t|ƒD] }|||<q*tt ||¡ ||¡t|ƒd}t ||¡dS)Né
ér&)    r Úranger:r;r<ÚrepeatZreshaper-Úassert_frame_equal)r.ÚNÚKr0Znew_colrPr1r!r!r"Útest_setitem_benchmark`s  
 z+TestDataFrameSetItem.test_setitem_benchmarkc    Cs^ttj dd¡t d¡dddgd}| dd|d¡| d    d
|d¡|d d ¡|d <|j}tt     d ¡gdt     d ¡gddd
ddd gd}t
  ||¡|d d ¡|d<|j}tt     d ¡gdt     d ¡gd    ddd
ddd gd}t
  ||¡|d d¡|d<|j}tt     d ¡gdt     d ¡gd    t     d¡gddd
ddd dgd}t
  ||¡dS)Nrbr*r+r)r$©r'rWrrLr(rKr7Úxr8r&rUr4Úy) r r:r;r<ÚarangeÚinsertÚastypeÚdtypesrr3r-Úassert_series_equal©r.r0Úresultr1r!r!r"Útest_setitem_different_dtypeks8 ÿþ þ *þz1TestDataFrameSetItem.test_setitem_different_dtypecCsTtdddgd}|j|d<dddg|d<tddddgidddgd    }t ||¡dS)
NrDrEÚCr&ÚXrjrkÚz)r/r')r r'r-re©r.r0Úexpr!r!r"Útest_setitem_empty_columnsŽs
 
z/TestDataFrameSetItem.test_setitem_empty_columnscCsFtdddd}tt t|ƒ¡d}||d<|djt d¡ksBt‚dS)Nz1/1/2000 00:00:00z1/1/2000 1:59:50Z10s)Úfreqr&rDúM8[ns])rr r:rlr=r3r@)r.Úrngr0r!r!r"Ú%test_setitem_dt64_index_empty_columns–sz:TestDataFrameSetItem.test_setitem_dt64_index_empty_columnscCsTttdƒd}tddd|d<ttdddggdddd    gdgd
}t ||¡dS) Nr*r&Z20130101ÚUTC©ÚtzÚnowrr%r(ri)r rcrr-re©r.r0r1r!r!r"Ú$test_setitem_timestamp_empty_columnssÿz9TestDataFrameSetItem.test_setitem_timestamp_empty_columnsc    Cspt ddddddgdddg¡}ttdƒdgd    }d
t|ƒ›d t|ƒ›d }tjt|d ||d<W5QRXdS)Nrr%r(r$r)r+rarKrVzLength of values \(z$\) does not match length of index \(z\)rSrL)r Z
from_codesr rcr=rXrYrZ)r.Úcatr0r_r!r!r"Ú2test_setitem_wrong_length_categorical_dtype_raises§s ÿzGTestDataFrameSetItem.test_setitem_wrong_length_categorical_dtype_raisescCsPtdddgdddgdœƒ}tddd    gƒ}||d
<t|d
d }t |d
|¡dS) Nr$r)r+çð?ç@ç@©Zc_1Zn_1rr%Ú
new_columnrM)r rrr-rp)r.r0Zsp_arrayr1r!r!r"Útest_setitem_with_sparse_value³s
 z3TestDataFrameSetItem.test_setitem_with_sparse_valuecCshtdddgdddgdœƒ}ttddd    gƒd
d    dgd }||d <ttd    ddgƒd d }t |d |¡dS)Nr$r)r+r†r‡rˆr‰rr%r(r&rŠrM)r rrr-rp)r.r0Z    sp_seriesr1r!r!r"Ú(test_setitem_with_unaligned_sparse_value¼s
z=TestDataFrameSetItem.test_setitem_with_unaligned_sparse_valuecCs8tddƒg}tgƒ}||d<td|iƒ}t ||¡dS)Nz2003-12ÚDr$)rr r-re)r.r/rrr1r!r!r"Ú#test_setitem_period_preserves_dtypeÄs
  z8TestDataFrameSetItem.test_setitem_period_preserves_dtypecCsÐttdddgddtdddgtdtdddgtdtdddgdddœƒ}ttgddtgtdtgtdtgdddœƒ}tdddgƒD]4\}}t|ƒt|ƒt|ƒt |¡dœ|j|jd<qŠt     
||¡dS)    Nrr%r(r5r9r*r6©r$r)r+rH) r rÚfloatÚ    enumerateÚintr:r6ÚlocÚshaper-re)r.r1r0Úidxr)r!r!r"Ú"test_setitem_dict_preserves_dtypesÎs*üÿ
 
 
 
üÿüz7TestDataFrameSetItem.test_setitem_dict_preserves_dtypesz    obj,dtypez2020-01ÚMrrb)ÚleftÚrightr™z
2011-01-01z
US/EasternrcCsLtdddgt|gd|ddœƒ}tddddgiƒ}||d<t ||¡dS)Nr%r(r*r9)r•Úobjr•rš©r rr-re)r.ršr3r1r0r!r!r"Útest_setitem_extension_typesés "z1TestDataFrameSetItem.test_setitem_extension_typesÚea_namecCsg|]}t|jtƒs|j‘qSr!)Ú
isinstancer?Úproperty)Ú.0r3r!r!r"Ú
<listcomp>ÿs ýzTestDataFrameSetItem.<listcomp>zdatetime64[ns, UTC]z    period[D]cCs8tdgƒ}dg||<tddg|dgiƒ}t ||¡dS)Nrr%©r r-re)r.rrrr1r!r!r"Útest_setitem_with_ea_nameýs
 
z.TestDataFrameSetItem.test_setitem_with_ea_namecCs’tjddgdd}t|ƒ ¡}||d<tddgddgdœdd}t ||¡tjddgdd}||d<t |d|d¡t |d     ¡|¡dS)    Nr%Znatúdatetime64[ns]r9Únew)rr¥ú datetime64[s]r)
r:r>rZto_framer r-rerpÚassert_numpy_array_equalZto_numpy)r.Zdata_nsrrr1Zdata_sr!r!r"Ú6test_setitem_dt64_ndarray_with_NaT_and_diff_time_unitss  zKTestDataFrameSetItem.test_setitem_dt64_ndarray_with_NaT_and_diff_time_unitsÚunitrOÚmÚsÚmsrÚYcCs–d}t d|›d¡}tj|tjd |¡}|dkr:|}n
| d¡}tdt |¡it |¡d}|||<||j|jks|t‚||j|k     ¡s’t‚dS)    NédúM8[ú]r9)r«r¬r¦Úintsr&)
r:r3rlr5Úviewrnr r@rFÚall©r.r©Únr3ÚvalsZex_valsr0r!r!r"Ú-test_frame_setitem_datetime64_col_other_unitss
zBTestDataFrameSetItem.test_frame_setitem_datetime64_col_other_unitscCsŽd}t d|›d¡}tj|tjd |¡}| d¡}tdt |¡it |¡d}tj|tjd d¡|d    <||d    <|d    j|k ¡sŠt    ‚dS)
Nr®r¯r°r9r¤r±r&r{Údates)
r:r3rlr5r²rnr rFr³r@r´r!r!r"Ú6test_frame_setitem_existing_datetime64_col_other_units1s
zKTestDataFrameSetItem.test_frame_setitem_existing_datetime64_col_other_unitsc
Cs|}|d d¡}||d<t |dt|dd¡d|d<||d<t |dt|dd¡|d=|jjd}|jjd}t ||¡|jj}|jj}|dks°t    |ƒt    |ƒks°t
‚|  ¡}t |j d<t |j d    <|d}    t t|    ƒtd
d d
gdd¡t |j|j¡dS) NrErLrtrMrr%r()r%r%©r%r(TF)Úrenamer-rprÚ_mgrZarraysZassert_extension_array_equalZ_ndarrayÚbaseÚidr@ÚcopyrÚilocrro)
r.Ztimezone_framer0r•Zv1Zv2Zv1baseZv2baseÚdf2rrr!r!r"Útest_setitem_dt64tzBs(   
 
z(TestDataFrameSetItem.test_setitem_dt64tzcCs”tdddd}ttj dd¡|d}||d<t|dƒ}tj||dd    |jdksVt    ‚|jdksdt    ‚| 
¡  d¡}t |j tƒs‚t    ‚t |j |¡dS)
Nz1/1/2000rbr')Úperiodsr?r*r&rF©Z check_names)rr r:r;r<rr-Úassert_index_equalr?r@Z reset_indexZ    set_indexržr'r)r.r|r0Úrsr!r!r"Útest_setitem_periodindex`s z-TestDataFrameSetItem.test_setitem_periodindexcCsÌtdddgdddgdœƒ}t ddgddgddgg¡}||d    d
g<tdddgdddgdddgdddgd œƒ}|d     |j¡|d    <|d
 |j¡|d
<|d    j|jks¨t‚|d
j|jks¼t‚t ||¡dS) NZoneZtwoZthreer%r(r*©r$r)rbr+rHr)r r:r>rnr3r@r-re©r.r0rBr1r!r!r"Ú'test_setitem_complete_column_with_arrayns üÿz<TestDataFrameSetItem.test_setitem_complete_column_with_arrayÚf8Úi8Úu8cCsxtdddg|d}ttj dd¡|d}dddg|d    <tdddd    gtd}|d
krftd d d d    gtd}t |j|¡dS)Nr%r(r*r9rVr$r)r+FrËr†r‡rˆ)    rr r:r;r<Úobjectr-rÅrW)r.r3Úcolsr0Z expected_colsr!r!r"Ú$test_setitem_bool_with_numeric_indexsz9TestDataFrameSetItem.test_setitem_bool_with_numeric_indexÚindexerrEcCsbtddgd}tdddgiƒ}|||<ttjgdddgdœƒ}|d d¡|d<t ||¡dS)NrDrErVr%r(©rDrErÎ)r r:Únanrnr-re)r.rÑr0Úotherr1r!r!r"Ú#test_setitem_frame_length_0_str_keys z8TestDataFrameSetItem.test_setitem_frame_length_0_str_keyc    Cs¾dddgd}ttdƒ|d}d|jd<d    |jdd…df<d
|d<td d ddd dgtjd dtjd dgtjd dtjd dggdd}|d tj¡|d<|d tj¡|d<||_t     ||¡dS)NrDrErtr(r*ri)rr*)rrD)r%rU©r(rbrr%rUrbrÎr9)
r rcr“r:rÓrnr5rWr-re)r.rÏr0r1r!r!r"Ú$test_setitem_frame_duplicate_columns™s 
ýú
z9TestDataFrameSetItem.test_setitem_frame_duplicate_columnsc    Cs€dddgd}ttdƒ|d}tjtddd    |dg<W5QRX|jdd…dd…f}tjtddd    |dg<W5QRXdS)
NrDrErtr(r*riú"Columns must be same length as keyrS)rr*rb)r rcrXrYrZrÀ)r.rÏr0rÁr!r!r"Ú2test_setitem_frame_duplicate_columns_size_mismatch°szGTestDataFrameSetItem.test_setitem_frame_duplicate_columns_size_mismatchrÏr$r)r+c    CsTtdddgg|d}tddggddgd}d    }tjt|d
||d <W5QRXdS) Nr%r(r*rVraé rHrIrØrSr$©r rXrYrZ)r.rÏr0Úrhsr_r!r!r"Ú#test_setitem_df_wrong_column_number»s
z8TestDataFrameSetItem.test_setitem_df_wrong_column_numbercCs tdddggdddgd}tddd    ggdddgd}||ddg<tddd    ggdddgd}t ||¡||d
dg<tddd    dggdddd
gd}t ||¡dS) Nr%r(r*r$r)rVrarÚé r+r¢)r.r0rÜr1r!r!r"Ú/test_setitem_listlike_indexer_duplicate_columnsÄs   zDTestDataFrameSetItem.test_setitem_listlike_indexer_duplicate_columnsc    Cs^tdddggdddgd}tddggddgd}d    }tjt|d
||ddg<W5QRXdS) Nr%r(r*r$r)rVrarÚrØrSrÛ)r.r0rÜr_r!r!r"Ú@test_setitem_listlike_indexer_duplicate_columns_not_equal_lengthÐs
zUTestDataFrameSetItem.test_setitem_listlike_indexer_duplicate_columns_not_equal_lengthcCsºtdtdƒiƒ}t|ddƒ}t|jjtƒs0t‚||d<t     |¡|d<|j
|d<t     |j
¡|d<|  t ¡|d<t |djƒs€t‚t|djjƒs”t‚t |djƒs¦t‚t|djjƒsºt‚t|dƒsÊt‚t|dƒsÚt‚t|dƒsêt‚d    d
„}t ||jƒ||jƒ¡tj||jƒ||jƒd d tj||jƒ||jƒd d tj||jƒ||jƒd d t |d|d¡tj|d|dd d t |d|d¡tj|d|dd d dS) NrDrarbrErtrÚEÚFcSstt |¡ƒS©N)rr:r>©rjr!r!r"Ú<lambda>öóz=TestDataFrameSetItem.test_setitem_intervals.<locals>.<lambda>FrÄ)r rcrržr„Ú
categoriesrr@r:r>rFrnrÎrr3rrr-rÅrErtrrp)r.r0r^r+r!r!r"Útest_setitem_intervalsØs0
z+TestDataFrameSetItem.test_setitem_intervalscCs\tdttdƒƒ d¡iƒ}|jj ddg¡|_tdtddgƒ ddg¡iƒ}t     ||¡dS)NrOÚmnÚcategoryrµrª)
r rÚlistrnrOr„Zreorder_categoriesr r-rer‚r!r!r"Útest_setitem_categoricals ÿz-TestDataFrameSetItem.test_setitem_categoricalcCsDtgdd}tdg|d}g|d<tdg|d}t |j|j¡dS)Nr•rMrD©rWr')rr r-rÅr')r.r'rrr1r!r!r"Ú test_setitem_with_empty_listlike s
 z5TestDataFrameSetItem.test_setitem_with_empty_listlikezcols, values, expectedrtr%r(r*rUcCs8t|g|d}|d|d<|djd}||ks4t‚dS)NrVr$r)r rFr@)r.rÏrFr1r0rrr!r!r"Útest_setitem_same_columns  z-TestDataFrameSetItem.test_setitem_same_columncCs$dddgddgdddgf}t |¡}td    d
d }tj d d t|ƒt|ƒf¡}t|||d}|jj     
¡|ddd…}}tj  |¡|dj |ddd…f|d<t  |d|d¡tj  |¡|dj ||f|d<t  |d|d¡tj  |¡|dj ||f|d<t  |d|d¡dS)NZjimÚjoeÚjolieÚfirstÚlastr˜Úcenterr™Z20141006é)rÃr%ièríéÿÿÿÿ)rñró)rðrò)rñrò)rðró)rZ from_productrr:r;r[r=r r'rFr¿Úshuffler“r-re)r.ÚitrÏr'r¶r0rPrQr!r!r"Útest_setitem_multi_index's
    z-TestDataFrameSetItem.test_setitem_multi_indexzcolumns,box,expectedrDérVééé    r9rarÚrÞé éécCs:tddgddgddggddgd    }|||<t ||¡dS)
Nr%r(r*rUrbrürDrErVr¢)r.rWÚboxr1r0r!r!r"Ú!test_setitem_list_missing_columns?s3"z6TestDataFrameSetItem.test_setitem_list_missing_columnscCsFtt|d|dƒƒ}||d<|d}t||jdd}t ||¡dS)NrDrEÚtuplesrR)rëÚziprr'r-rp)r.rArrrr1r!r!r"Útest_setitem_list_of_tuplesvs
z0TestDataFrameSetItem.test_setitem_list_of_tuplescCs\tdddgdddgdœƒ}dd    „d
Dƒ}d|j|<tdddgdddgdœƒ}t ||¡dS) Nr%r(r*rUrbrürÈcss|]
}|VqdSrãr!©r rjr!r!r"Ú    <genexpr>szCTestDataFrameSetItem.test_setitem_iloc_generator.<locals>.<genexpr>rº©r rÀr-re©r.r0rÑr1r!r!r"Útest_setitem_iloc_generator~s
 
z0TestDataFrameSetItem.test_setitem_iloc_generatorcCs`tdddgdddgdœƒ}dd    „d
Dƒ}d|j|df<tdddgdddgdœƒ}t ||¡dS) Nr%r(r*rUrbrürÈcss|]
}|VqdSrãr!rr!r!r"rˆszSTestDataFrameSetItem.test_setitem_iloc_two_dimensional_generator.<locals>.<genexpr>rºrr    r!r!r"Ú+test_setitem_iloc_two_dimensional_generator†s
z@TestDataFrameSetItem.test_setitem_iloc_two_dimensional_generatorcCs”tddd}t|d}td|tjd|d<td|dd|d<td    |dd|d    <td
|tjd|d
<|j}ttjtttjgtd ƒd}t     ||¡dS) Nr¾ZS24)r?r3r&r$)r?r'r3r)ZS64r+rHZabcd)
rr r:r6Zuint8rorÎrër-rp)r.r'r0rrr1r!r!r"Ú(test_setitem_dtypes_bytes_type_to_objects 
z=TestDataFrameSetItem.test_setitem_dtypes_bytes_type_to_objectcCs†tddgddgdœƒ dddœ¡}td|jd    }|d
|j|d
f<|d |j|d f<tddgddgdœƒ dddœ¡}t ||¡dS) Nr*rUrbrürÈr5ÚInt64Fr&r$r))r rnrr'r“r-re)r.rrÚmaskr1r!r!r"Ú test_boolean_mask_nullable_int64™sÿÿz5TestDataFrameSetItem.test_boolean_mask_nullable_int64cCsHtdddgiƒ}tddgdd|d<tdddgidd}t ||¡dS)Nr$r%r(r r9r›r‚r!r!r"Ú test_setitem_ea_dtype_rhs_series¦sz5TestDataFrameSetItem.test_setitem_ea_dtype_rhs_seriesc    Csztt d¡t d¡dœt d¡d}t d¡}tt d¡d}||d<t t¡t |¡|d<W5QRXt ||¡dS)Nra)únp-arrayú    np-matrixr&)rar%rr)    r r:Úonesrlr-Zassert_produces_warningÚPendingDeprecationWarningZmatrixre)r.r1r$r0r!r!r"Útest_setitem_npmatrix_2d®sÿ
 z-TestDataFrameSetItem.test_setitem_npmatrix_2dr¶rHcCsœtddgddgdœ|–ƒ}dddœ|jdd…d    f<d
d d œ|jdd…d f<dd
i|jdd…df<tddgddgdœ|d
d gtjd
gdœ–ƒ}t ||¡dS)Nr%r(r*rUrÈr®éÈ)r%rr$rbrü©rr%r+rI)r+rI)r r“r:rÓr-re)r.r¶r0r1r!r!r"Ú%test_setitem_aligning_dict_with_indexÀs&ÿz:TestDataFrameSetItem.test_setitem_aligning_dict_with_indexcCsŠtdddgiƒ}tdddgiddgd|d<tdtjdgiƒ}t ||¡tdddgiƒ}| dtdddgiddgd¡t ||¡dS)Nr$r%r(rarÚr&r)r r:rÓr-reZisetitemr‚r!r!r"Útest_setitem_rhs_dataframeÌs  z/TestDataFrameSetItem.test_setitem_rhs_dataframecCsbtddgddgddggd}tddd    gi|d
|d<ttdd    g|d
ddgd œƒ}t ||¡dS) Nr$r)r%r(r*rU©rWr/rarÚr9rÈr›©r.Zany_numeric_ea_dtyper0r1r!r!r"Ú*test_setitem_frame_overwrite_with_ea_dtype×sþÿz?TestDataFrameSetItem.test_setitem_frame_overwrite_with_ea_dtypecCs8tddgiƒ}| ¡}d}||g||<t ||¡dS)NrÈra©r r¿r-re)r.r0r1Zcol_namer!r!r"Útest_setitem_frame_midx_columnsãs
z4TestDataFrameSetItem.test_setitem_frame_midx_columnsN)Brrr r2rXÚmarkÚ parametrizerCrGr`rhrsryr}rƒr…r‹rŒrŽr–rr
rr    rrrœÚ ea_registryror£r¨r·r¹rÂrÇrÊrÐrÕr×rÙrÝrßràrèrìrîrïrùr r:r>r5rrr
r r rrÚtdZ&skip_array_manager_not_yet_implementedrrrrrr!r!r!r"r.sþ ÿ
 #
     
 
þýþ
    þúþ
 
 
 
 
 
     
 ,    úþ
 
 
þý     
þý    (ý 
þý    & 
þý     ÿýÚþ1
 
 
  rc@s@eZdZejdd„ƒZejdd„ƒZdd„Zdd„Zd    d
„Z    d S) ÚTestSetitemTZAwareValuescCstddgdd}| d¡}|S)Nz2013-1-1 13:00z2013-1-2 14:00rErMz
US/Pacific)r Ú tz_localize)r.Znaiver•r!r!r"r•ís
zTestSetitemTZAwareValues.idxcCs.ttj| ¡dddd}|j|jks*t‚|S)NrÎr9rErM)rr:r>Útolistr3r@)r.r•r1r!r!r"r1ósz!TestSetitemTZAwareValues.expectedcCslttj dd¡dgd}||d<|jddgdj d¡|d<|d}t| d¡ d¡dd    }t     
||¡dS)
Nr(r%rDrVrErr&r~rM) r r:r;r<Z    to_seriesÚdtZ
tz_convertrr$r-rp)r.r•r1r0rrÚcompr!r!r"Útest_setitem_dt64seriesùs z0TestSetitemTZAwareValues.test_setitem_dt64seriescCs8ttj dd¡dgd}||d<|d}t ||¡dS©Nr(r%rDrVrE)r r:r;r<r-rp©r.r•r1r0rrr!r!r"Útest_setitem_datetimeindexsz3TestSetitemTZAwareValues.test_setitem_datetimeindexcCs<ttj dd¡dgd}| ¡|d<|d}t ||¡dSr))r r:r;r<Z to_pydatetimer-rpr*r!r!r"Ú.test_setitem_object_array_of_tzaware_datetimes s zGTestSetitemTZAwareValues.test_setitem_object_array_of_tzaware_datetimesN)
rrr rXZfixturer•r1r(r+r,r!r!r!r"r#ìs
 
 
    r#c@sTeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dS)Ú!TestDataFrameSetItemWithExpansioncCsŠtdddgdddgdœƒ}|d}t dd    gd
d gd d gg¡|d dg<d|jd<|rhtdddgdd}ntdddgdd}t ||¡dS)Nr%r(r*rUrürÈr$gš™™™™™¹?gš™™™™™É?g333333Ó?gš™™™™™Ù?çà?r+rHr®)rrrM)r r:r>rÀrr-rp)r.Úusing_copy_on_writer0r^r1r!r!r"Útest_setitem_listlike_viewss$
z=TestDataFrameSetItemWithExpansion.test_setitem_listlike_viewscCsRtddgddggƒ}ddg|d<tdddgdddggdddgd    }t ||¡dS)
Nr%r(r*rUrbrüz0 - NamerrVr¢r‚r!r!r"Ú.test_setitem_string_column_numpy_dtype_raising*s "zPTestDataFrameSetItemWithExpansion.test_setitem_string_column_numpy_dtype_raisingcCsftdddgdd}ttdƒƒ|jdd…df<tdtjtjgdtjtjggdddgd}t ||¡dS)    Nr$r)r8©rWr3r(rr%rV)r rërcr“r:rÓr-re)r.r/r0r1r!r!r"Ú'test_setitem_empty_df_duplicate_columns1sÿzITestDataFrameSetItemWithExpansion.test_setitem_empty_df_duplicate_columnsc    Cs>tdtjtj ddd¡ddiƒ}tdd„tddd    ƒDƒƒ}|jdgd
d }t|j    tdd d    ƒd |d}|j
}||d<t |ƒ|j }t t d¡t|d dgddgd}t ||¡||d<t |ƒ|j }t t d¡t|d dt|d dgdddgd}t ||¡|d}|d}t |jj|¡d|_t | ¡| ¡¡dS)NÚvalueri'r®r4r9cSsg|]}|›d|d›‘qS)z - iór!©r rPr!r!r"r¡?szcTestDataFrameSetItemWithExpansion.test_setitem_with_expansion_categorical_dtype.<locals>.<listcomp>iôT)ZbyZ    ascendingi)F)r™Úlabelsr)rçZorderedr&rá)r r:r>r;r[r rcÚ sort_valuesrr4rFr,rorr3rr-rpZassert_categorical_equalr¼r?Z
sort_index)    r.r0r6r^r„rrr1Zresult1Zresult2r!r!r"Ú-test_setitem_with_expansion_categorical_dtype:s>ÿþ 
 
ýú zOTestDataFrameSetItemWithExpansion.test_setitem_with_expansion_categorical_dtypecCs2tƒ}d|d<tdgd tj¡}t ||¡dS)Nr%rLrV)r rnr:r5r-rer‚r!r!r"Útest_setitem_scalars_no_indexgsz?TestDataFrameSetItemWithExpansion.test_setitem_scalars_no_indexcCsLd|jkst‚|d|d<d|jks(t‚|d}|d}tj||dddS)NrÒrDFrÄ)rWr@r-rp)r.rArrr1r!r!r"Útest_setitem_newcol_tuple_keynsý z?TestDataFrameSetItemWithExpansion.test_setitem_newcol_tuple_keycCsXtddtƒd}t|tdƒd}tdddƒ}t|ƒ}tj||<t ||¡     ¡sTt
‚dS)    Nz1/1/2012z2/1/2012)ÚstartÚendrzraríiÜrÚr%) rrr rcrrr:rÓÚisnanr³r@)r.rWr/ÚtÚtsr!r!r"Ú#test_frame_setitem_newcol_timestampzs  
zETestDataFrameSetItemWithExpansion.test_frame_setitem_newcol_timestampcCshtdddgiƒ}|j|d<d|jddgdf<|jdgdd…f}tdgdgdœdgd}t ||¡dS)    Nr$r)r®FTr%rÈr&)r r'r“r-rerqr!r!r"Ú*test_frame_setitem_rangeindex_into_new_colƒs 
zLTestDataFrameSetItemWithExpansion.test_frame_setitem_rangeindex_into_new_colcCshtddgddgddggd}tddd    gi|d
|d <tddgddgtdd    g|d
d œƒ}t ||¡dS) Nr$r)r%r(r*rUrrarÚr9r+©r$r)r+r›rr!r!r"Ú test_setitem_frame_keep_ea_dtypeŒsýÿzBTestDataFrameSetItemWithExpansion.test_setitem_frame_keep_ea_dtypeN) rrr r0r1r3r8r9r:r@rArCr!r!r!r"r-s    -         r-c@sâeZdZdd„Zej dejej    g¡ej de
e j e ej g¡ej ddddg¡d    d
„ƒƒƒZej de
e j e ej g¡ej ddddg¡d d „ƒƒZej dejej    g¡ej de
e j e ej g¡ej ddddg¡d d„ƒƒƒZdS)ÚTestDataFrameSetItemSlicingcCsHtt d¡ƒ}d|dd…<t d¡}d|dd…<t|ƒ}t ||¡dS)N)r®r%r%éüÿÿÿ)r r:Úzerosr-rerÉr!r!r"Útest_setitem_slice_position›s  
 z7TestDataFrameSetItemSlicing.test_setitem_slice_positionrÑrrµr%r(r*cCs~tdddggdddgg|ddd    gd
}|d d d gƒ||ƒdd…<tdddggd d d gg|ddd    gd
}t ||¡dS©Nr%r*rbr(rUrür$r)r+rVrarÚrÞr¢©r.rµrrÑr0r1r!r!r"Ú+test_setitem_slice_indexer_broadcasting_rhs¤s**zGTestDataFrameSetItemSlicing.test_setitem_slice_indexer_broadcasting_rhscCs†tdddggdddgg|ddd    gd
}|d d d gƒ|jttd|dƒƒ<tdddggd d d gg|ddd    gd
}t ||¡dSrH)r rÀrërcr-re)r.rµrr0r1r!r!r"Ú*test_setitem_list_indexer_broadcasting_rhs®s*"*zFTestDataFrameSetItemSlicing.test_setitem_list_indexer_broadcasting_rhscCsŒtdddgdddggddd    gg|d
d d gd }|dddgƒ||ƒdd…<tdddggdddgg|dd
d d gdd}t ||¡dS)Nr%r*rbrjrkrvr(rUrür$r)r+rVrarÚrÞrÎr2r¢rIr!r!r"Ú0test_setitem_slice_broadcasting_rhs_mixed_dtypes·s"ÿýzLTestDataFrameSetItemSlicing.test_setitem_slice_broadcasting_rhs_mixed_dtypesN)rrr rGrXrr r-ÚsetitemrÀrr:r>rëÚpdrJrKrLr!r!r!r"rDšs     rDc@seZdZdd„Zdd„ZdS)ÚTestDataFrameSetItemCallablecCs`tddddgddddgd    œƒ}d
d d d g|dd„<td
d d d gddddgd    œƒ}t ||¡dS)Nr%r(r*rUrbrürúrûrÒrÚrÞrþrÿcSsdS)NrDr!rär!r!r"råÌræzDTestDataFrameSetItemCallable.test_setitem_callable.<locals>.<lambda>r¢rwr!r!r"Útest_setitem_callableÉsz2TestDataFrameSetItemCallable.test_setitem_callablecCsLdd„}tddgddggƒ}|||dk<td|g|dggƒ}t ||¡dS)NcSs|dS)Nr%r!rär!r!r"ÚincÓszETestDataFrameSetItemCallable.test_setitem_other_callable.<locals>.incrör%rr¢)r.rQr0r1r!r!r"Útest_setitem_other_callableÑs
 z8TestDataFrameSetItemCallable.test_setitem_other_callableN)rrr rPrRr!r!r!r"rOÈsrOc@sþeZdZejejjddd„dd„gddgddd    „ƒƒZejj    d
d ej d e
e j e g¡d d„ƒƒZej d e
e j e g¡dd„ƒZej dejejg¡dd„ƒZdd„Zej dddg¡ej diddgiddgig¡dd„ƒƒZd d!„Zd"d#„Zd$d%„Zd&S)'ÚTestDataFrameSetItemBooleanMaskÚ    mask_typecCs|t |¡dkS©Nr()r:Úabs©r0r!r!r"råáræz(TestDataFrameSetItemBooleanMask.<lambda>cCs|t |¡dkjSrU)r:rVrFrWr!r!r"råáræZ    dataframer>)ÚidscCs^| ¡}||ƒ}| ¡}tj||<|j ¡}tj|t |¡<t||j|jd}t     ||¡dS)Nri)
r¿r:rÓrFr>r r'rWr-re)r.rTrAr0rrrr1r!r!r"Útest_setitem_boolean_maskÞs
 
z9TestDataFrameSetItemBooleanMask.test_setitem_boolean_maskz1Currently empty indexers are treated as all False)Úreasonrc    Cshtdgdgdgdœƒ}|tkr,|gdd}n|gƒ}d}tjt|ddg|j|dgf<W5QRXdS)    Nr$r%rBrÎr9z@Must have equal len keys and value when setting with an iterablerSr))r rrXrYrZr“)r.rr0rÑr_r!r!r"Ú:test_setitem_loc_empty_indexer_raises_with_non_empty_valueòszZTestDataFrameSetItemBooleanMask.test_setitem_loc_empty_indexer_raises_with_non_empty_valuecCsztdgdgdgdœƒ}|dgƒ}d|d|j|dgf<tdgdgdgdœƒ}t ||¡d|j|dgf<t ||¡dS)    Nr$r%rBFrar+r)rý)r r“r-re)r.rr0rÑr1r!r!r"Ú1test_setitem_loc_only_false_indexer_dtype_changedÿs
 zQTestDataFrameSetItemBooleanMask.test_setitem_loc_only_false_indexer_dtype_changedrÑcCs\tddddgddddgd    œƒ}| ¡}|d
dk}||ƒ| d
¡||ƒ|<t ||¡dS) Nr%rUr(r*rbrürúrûrÈr$)r r¿r7r-re)r.rÑr0r1rr!r!r"Ú"test_setitem_boolean_mask_aligning s
 zBTestDataFrameSetItemBooleanMask.test_setitem_boolean_mask_aligningc Csütdddddddgddgd}tdddddd    d
gƒ}d d d d d d d g}t||d œ|d}tdddddddgdddgd}tdddddd    d
gƒ}d d ddd d d g}t||d œ|d}| ¡}    |    dj dddg¡|    d<|ddk}
dd g||
<t ||    ¡dS)Nr$r))rçrOrPrQÚkÚlrªrµr%r()ÚcatsrFr&r+r*r`)r rr r¿r„Zset_categoriesr-re) r.Zcats2Zidx2Zvalues2Z exp_multi_rowZcatsfZidxfZvaluesfr0Z    exp_fancyrr!r!r"Útest_setitem_mask_categoricals ÿ  z=TestDataFrameSetItemBooleanMask.test_setitem_mask_categoricalr3rr5Úkwargsr'r%rWrDcCs6||d<tf|Ž}| ¡}d|||k<t ||¡dS)Nr3é/r)r.r3rbr0rÁr!r!r"Ú%test_setitem_empty_frame_with_boolean-s
 
 zETestDataFrameSetItemBooleanMask.test_setitem_empty_frame_with_booleanc    Csættdƒƒ}dddg}t||tjdddgdd    d
gd d d ggtdd}t||t t|ƒt|ƒf¡d}t||tjdddgdd    dgdddggtdd}d||d    |k<t     ||¡t
j t ddd||j dd…dk<W5QRXdS)Nr*rDrErtçr.r†gø?r‡g@rˆg @g@r9)r'rWr/rözItem wrong lengthrSr()rërcr r:r>rrr=r-rerXrYrZr')r.r•rÏZdf1rÁr1r!r!r"Útest_setitem_boolean_indexing8s( 
ÿý $ý z=TestDataFrameSetItemBooleanMask.test_setitem_boolean_indexingcCsdtddgddgddœƒ}| ¡}tddgdd    }td
d d gid dgd|j|d
gf<t ||¡dS)Nr%r(r*rUr$rBFr+rMr)rbrürr&)r r¿rr“r-re)r.r0r1rÑr!r!r"Ú-test_loc_setitem_all_false_boolean_two_blocksOs
$zMTestDataFrameSetItemBooleanMask.test_loc_setitem_all_false_boolean_two_blockscCshtddgddggƒ}tddgddggƒ}ttddgdd    ttjdgdd    d
œƒ}d||<t ||¡dS) Nrör(r*rErTFÚbooleanr9r)r rrNZNAr-re)r.r0r1Zboolean_indexerr!r!r"Útest_setitem_ea_boolean_maskWsþÿz<TestDataFrameSetItemBooleanMask.test_setitem_ea_boolean_maskN)rrr r"Úskip_array_manager_invalid_testrXrr rYÚxfailrër:r>rr[r\r-rMr“r]rardrfrgrir!r!r!r"rSÝs*ý   
 
     rSc @seZdZdd„Zej dddg¡dd„ƒZdd    „Zej d
d e    j
d gd ggd d d gd ggg¡dd„ƒZ ej d
de     
dgdgg¡dgdggg¡dd„ƒZ ej dddgej ddgejjddddg¡ej dddedƒedƒfdg¡dd„ƒƒZejd d!„ƒZd"S)#Ú%TestDataFrameSetitemCopyViewSemanticscCsZd|jkst‚|d ¡}||d<tj|jdd…|j d¡f<t|dd…ƒ ¡sVt‚dS)NrárDrbra)    rWr@r¿r:rÓrÀZget_locrr³)r.rAr«r!r!r"Útest_setitem_always_copyfs
 z>TestDataFrameSetitemCopyViewSemantics.test_setitem_always_copyÚ consolidateTFcCsètddddgddddgd    œd
d d d gd}| d dtj¡|st|r`| ¡t|jjƒd kstt‚nt|jjƒd kstt‚|dj    }d|j
d d…df<t tjtjddg|j dd}t  |d|¡|sät  ||j¡t ||dj    ¡sät‚dS)Ngš™™™™™ñ?gÍÌÌÌÌÌ@gÍÌÌÌÌÌ@gffffff@gffffff@gffffff@gffffff@g333333 @)rjrkrr%r(r*r&rvé*rR)r rmr:rÓZ_consolidate_inplacer=r¼Úblocksr@Z_valuesr“rr'r-rpr§rFZ shares_memory)r.rnÚusing_array_managerr/r0Zzvalsr1r!r!r"Ú#test_setitem_partial_column_inplacens"    
ÿ
zITestDataFrameSetitemCopyViewSemantics.test_setitem_partial_column_inplacecCsjddgd}tddg|d}| ¡}|dd…}d|d<tddddgg|d    }t ||¡t ||¡dS)
NrDrEr(rerrirÖrbrVr)r.rÏr0Údf_copyÚdf_viewr1r!r!r"Ú*test_setitem_duplicate_columns_not_inplaceŽs   zPTestDataFrameSetitemCopyViewSemantics.test_setitem_duplicate_columns_not_inplacer4r%r5r9cCslddg}tdddg|d}| ¡}|dd…}||dg<tddgddgg|d}t ||¡t ||¡dS)NrDrErr%rirVr)r.r4rqrÏr0rsrtr1r!r!r"Ú#test_setitem_same_dtype_not_inplacešs 
 zITestDataFrameSetitemCopyViewSemantics.test_setitem_same_dtype_not_inplacer†cCslddg}tdddg|d}| ¡}|dd…}||dg<tddgddgg|d}t ||¡t ||¡dS)NrDrErr%rir†rVr)r.r4rÏr0rsrtr1r!r!r"Ú2test_setitem_listlike_key_scalar_value_not_inplace©s 
 zXTestDataFrameSetitemCopyViewSemantics.test_setitem_listlike_key_scalar_value_not_inplacerÑr$z+Boolean indexer incorrectly setting inplace)rZÚstrict)Zmarkszvalue, set_value)r%rb)r†g@z
2020-12-31z
2021-12-31rÈcCs@td|iddgd}| ¡}|dd…}|||<t ||¡dS)Nr$rr%r&r)r.r4Ú    set_valuerÑr0r1r²r!r!r"Ú"test_setitem_not_operating_inplace¶s
 zHTestDataFrameSetitemCopyViewSemantics.test_setitem_not_operating_inplacec    sÔdd„tdƒDƒ‰t‡fdd„ˆDƒˆd}|jjdj}|s~|jD]}d|||<qDt |t d¡t d¡fdk¡sÐt    ‚nRt
  ¡|jD]}d|||<qŽW5QRXt |t d¡t d¡fdk¡sÐt    ‚dS)    NcSsg|]}d|›‘qS)r+r!r5r!r!r"r¡Ùsz\TestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace.<locals>.<listcomp>racsi|]}|t tˆƒ¡“qSr!)r:rFr=)r Úcol©r6r!r"Ú
<dictcomp>Úsz\TestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplace.<locals>.<dictcomp>r&rr%) rcr r¼rprFrWr:r³rlr@r-Zraises_chained_assignment_error)r.r/r0rFÚlabelr!r|r"Ú"test_setitem_column_update_inplaceÕs
(
 
zHTestDataFrameSetitemCopyViewSemantics.test_setitem_column_update_inplaceN)rrr rmrXrr rrrur:r>rvrwÚparamrkrrzr"rjrr!r!r!r"rlesF
 "ÿ
(
þþýþüþ     rl)4rÚnumpyr:rXZpandas.util._test_decoratorsÚutilZ_test_decoratorsr"Zpandas.core.dtypes.baserr!Zpandas.core.dtypes.commonrrrZpandas.core.dtypes.dtypesrrr    r
ZpandasrNr r r rrrrrrrrrrrrrZpandas._testingZ_testingr-Zpandas.core.arraysrZpandas.tseries.offsetsrrr#r-rDrOrSrlr!r!r!r"Ú<module>s2  H   C*.