zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°d£‘ã @sddlZddlZddlmZddlmZddlZddlm    Z    m
Z
ddl m Z ddlmZejddgdd    d
„ƒZd d „Zd d„Zdd„Zejjdddgddgddd„ƒZejjdddgddgdejjdeddƒe dddg¡e ddg¡gddd gdejjd!ed"d#ƒe dddg¡d"d#ggddd gdd$d%„ƒƒƒZejjdddgddgdejjdedd&ƒe dddg¡e ddg¡gddd gdejjd!edd&ƒe dddg¡ddggddd gdd'd(„ƒƒƒZejjd)eddƒe dddg¡e ddg¡gddd gdd*d+„ƒZd,d-„Zd.d/„Zejjdddgddgdd0d1„ƒZd2d3„Z ejjdddgddgdd4d5„ƒZ!ejjd)ed6d"ƒe dddg¡d6d"ggddd gdd7d8„ƒZ"ejjd9d:d;„d<d;„d=d;„d>d;„d?d;„d@d;„gdAdBdCdDdEdFgdejjdddgddgddGdH„ƒƒZ#ejjdddgddgddIdJ„ƒZ$ejjd9dKd;„dLd;„dMd;„dNd;„gdOdPdQdRgddSdT„ƒZ%dUdV„Z&ejjd9dWd;„dXd;„dYd;„dZd;„d[d;„gdOdQd\dPd]gdd^d_„ƒZ'ejjd9d`d;„dad;„dbd;„gdOdQdPgddcdd„ƒZ(dedf„Z)ejjd)eddƒe dddg¡e ddg¡gddd gddgdh„ƒZ*didj„Z+dkdl„Z,dmdn„Z-dodp„Z.ejjd9dqd;„drd;„dsd;„gdOdQdPgddtdu„ƒZ/dvdw„Z0ej dxdyd6g¡ej dze j1d{fe j2d|fe j1dgd6ffe j2dgdffe j1edƒd6ffe j2edƒdffg¡d}d~„ƒƒZ3dd€„Z4dd‚„Z5dƒd„„Z6dS)…éN)ÚSettingWithCopyWarning)Úis_float_dtype)Ú    DataFrameÚSeries)Ú    get_arrayÚnumpyÚnullable)ÚparamscCsB|jdkrdd„}dd„}n|jdkr6dd„}dd„}|j||fS)    Nrc_s
t||ŽS©N)r©ÚargsÚkwargs©rú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/copy_view/test_indexing.pyÚmake_dataframeszbackend.<locals>.make_dataframec_s
t||ŽSr
)rr rrrÚ make_seriesszbackend.<locals>.make_seriesrc_sTt||Ž}| ¡}|jD]2}t||jƒrt||jƒs|| d¡||<q| ¡S)NZFloat64)rÚconvert_dtypesÚcolumnsrÚdtypeÚastypeÚcopy)r r ÚdfZ df_nullableÚcolrrrrs
 
ÿc_st||Ž}| ¡ ¡Sr
)rrr)r r Úserrrrr*s
)Úparam)ÚrequestrrrrrÚbackends
 
 
 rcCsä|\}}}|dddgdddgddd    gd
œƒ}| ¡}|d d g}|rlt t|d ƒt|d ƒ¡s`t‚d |jd<n&t t|d ƒt|d ƒ¡rˆt‚d |jd<t t|d ƒt|d ƒ¡r®t‚|d ddgddd    gdœƒ}t ||¡t ||¡dS©Néééééé皙™™™™¹?皙™™™™É?ç333333Ó?©ÚaÚbÚcr(r*r©rr)r(r*)rÚnpÚ shares_memoryrÚAssertionErrorÚilocÚtmÚassert_frame_equal©rÚusing_copy_on_writeÚ_rrÚdf_origÚsubsetÚexpectedrrrÚtest_subset_column_selection5s
"  
 r8cCsÈ|\}}}|dddgdddgddd    gd
œƒ}|d d g}|rXt t|d ƒt|d ƒ¡sXt‚d |jd<t t|d ƒt|d ƒ¡r~t‚|ržt t|d ƒt|d ƒ¡sžt‚|dddgddd    gdœƒ}t ||¡dSr)r,r-rr.r/r0r1)rr3r4rrr6r7rrrÚ*test_subset_column_selection_modify_parentQs
" 
r9cCs|\}}}|dddgdddgddd    gd
œƒ}| ¡}|dd…}|j ¡t t|d ƒt|d ƒ¡sft‚|r’d |jd <t t|d ƒt|d ƒ¡rœt‚n
d |jd <|j ¡|d dgddgdd    gd
œtddƒd}t     
||¡|rêt     
||¡nd |jd<t     
||¡dS)Nrrr r!r"r#r$r%r&r'r(rr+©Úindex)rr) rÚ_mgrÚ_verify_integrityr,r-rr.r/Úranger0r1r2rrrÚtest_subset_row_slicehs"
" 
 
 
 
& 
r?rÚint64Úfloat64z single-blockz mixed-block)Úidsc
Csj|\}}}|dko|dko| }|dddgdddgtjd    d
d g|d d œƒ}| ¡}    |jdd…dd…f}
|
j ¡|r¼t t|
dƒt|dƒ¡s”t‚d|
jd<t t|
dƒt|dƒ¡rºt‚nD|rÄt    nd} t
  dd¡&t   | ¡d|
jd<W5QRXW5QRX|dddgtjd    d
d g|d dœƒ} t  |
| ¡|sZ|sB|rZd|    jd<t  ||    ¡n t  ||    ¡dS)Nr@rrrr r!r"r#ééé    ©rr'r)rr+Úchained_assignmentÚwarn©r)r*)rr)r,Úarrayrr/r<r=r-rr.rÚpdÚoption_contextr0Úassert_produces_warningr1) rr3Úusing_array_managerrÚ dtype_backendrr4Z single_blockrr5r6rHr7rrrÚtest_subset_column_slice‹s2
ÿþ&ÿ
 
  $ 
rPÚ row_indexerrrFTÚsliceÚmaskrJÚcolumn_indexerr)r*c CsÒ|\}}}|dddgdddgtjddd    g|d
d œƒ}    |     ¡}
|    j||f} d | jd <|d dgtjdd    g|d
dœtddƒd} t | | ¡t|t    ƒrÂt|t    ƒrÂ|s¸|dkrÂ|dkrÂ|sÂd |
jd<t |    |
¡dS©Nrrr r!r"r#rCrDrErFr'rr+rIr:r@r)rr)
r,rJrÚlocr/r>r0r1Ú
isinstancerR© rrrQrTrNr3rOrr4rr5r6r7rrrÚtest_subset_loc_rows_columnsµs4
&ÿ
ÿ ÿþüúùø
rYr c CsÒ|\}}}|dddgdddgtjddd    g|d
d œƒ}    |     ¡}
|    j||f} d | jd <|d dgtjdd    g|d
dœtddƒd} t | | ¡t|tƒrÂt|tƒrÂ|s¸|dkrÂ|dkrÂ|sÂd |
jd<t |    |
¡dSrU)    r,rJrr/r>r0r1rWrRrXrrrÚtest_subset_iloc_rows_columnsñs4
&ÿ
ÿ ÿþüúùø
rZÚindexerc
Cs6|\}}}|ddddgddddgdd    d
d gd œƒ}| ¡}|dd…}|tjkrpt|tjƒrp|jd krpt d¡|r‚d||ƒ|<nL|tjkrt    nd}    t
  dd¡(t  |    ¡d||ƒ|<W5QRXW5QRX|dddgdddgddd gd œt ddƒd}
t ||
¡|rt ||¡nd|dd…<t ||¡dS)Nrrr r!r"r#rCr$r%r&皙™™™™Ù?r'Úintz&setitem with labels selects on columnsrrGrHçr:)rr0ÚsetitemrWr,ZndarrayrÚpytestÚskiprrKrLrMr>r1) rÚ
indexer_sir[r3r4rrr5r6rHr7rrrÚ test_subset_set_with_row_indexer-s4
( ÿ
þý
  ÿ  rcc    
Cs|\}}}|ddddgddddgdd    d
d gd œƒ}| ¡}|dd…}|dk}|r\d ||<n6t dd¡$t t¡d ||<W5QRXW5QRX|ddd gd d d gd    d
d gd œtddƒd}t ||¡|rÜt ||¡n(d |jd<d |jdd…df<t ||¡dS)Nrrr r!r"r#rCr$r%r&r\r'rrGrHr:)r r(r))    rrKrLr0rMrr>r1rV)    rr3r4rrr5r6rSr7rrrÚtest_subset_set_with_maskWs(
( 
 ÿ 
rdc
 
Csþ|\}}}|dddgdddgddd    gd
œƒ}| ¡}|dd…}|d kr\tjd d gdd}ntjd d gdd}|r|||d<n6t dd¡$t t¡||d<W5QRXW5QRX|j     ¡|d d gddgdd    gd
œt
ddƒd}    t  ||    ¡t  ||¡dS)Nrrr r!r"r#r$r%r&r'ré
é r@rFZInt64r(rGrHr:) rr,rJrKrLr0rMrr<r=r>r1)
rr3rOrr4rr5r6Zarrr7rrrÚtest_subset_set_columnus&
" 
 
ÿ rgc
 
CsN|\}}}|dddgdddgtjddd    g|d
d œƒ}| ¡}|dd…}|rptjd d gdd
|jdd…df<nTt dd¡Btjd| d&tjd d gdd
|jdd…df<W5QRXW5QRX|j     ¡|d d gddgtjdd    g|d
d œt
ddƒd}    t  ||    ¡|rt  ||¡n,tjd d gdd
|jdd…df<t  ||¡dS)Nrrr r!r"r#rCrDrErFr'rerfr@r(rGrH©Zraise_on_extra_warningsr:) r,rJrrVrKrLr0rMr<r=r>r1)
rr3rNrr4rrr5r6r7rrrÚtest_subset_set_column_with_locs0
&ÿ "þ4
 þ  ric    
Csò|\}}}|ddddgiƒ}| ¡}|dd…}|rHd|jdd…df<nFt dd¡4tjd| dd|jdd…df<W5QRXW5QRX|j ¡|dddgitddƒd    }t     ||¡|rÐt     ||¡nd|jdd…df<t     ||¡dS)
Nr(rrr rrGrHrhr:)
rrVrKrLr0rMr<r=r>r1)    rr3rNr4rrr5r6r7rrrÚ test_subset_set_column_with_loc2¸s&
 þ&
 rjc    
s.|\}}}|dddgdddgtjddd    g|d
d œƒ}| ¡}|dd…‰|r\d ˆd dg<n:t dd¡(t t¡d ˆd dg<W5QRXW5QRXˆj     ¡|r¾t
‡fdd„dDƒƒs¾t ‚|d d gddgd d gd œt ddƒd}|dkr|d   d¡|d <|d  d¡|d<t ˆ|¡t ||¡dS)Nrrr r!r"r#rCrDrErFr'rr(r*rGrHc3s|]}ˆj |¡VqdSr
)r<Ú_has_no_reference)Ú.0Úi©r6rrÚ    <genexpr>ïsz*test_subset_set_columns.<locals>.<genexpr>)rrr:rr@)r,rJrrKrLr0rMrr<r=Úallr.r>rr1)    rr3rrOrr4rr5r7rrnrÚtest_subset_set_columnsØs(
&ÿ   
&
 rqr(c        Csö|\}}}|dddgdddgddd    gd
œƒ}| ¡}|dd…}|rXd |jdd…|f<n*t d d ¡d |jdd…|f<W5QRX|j ¡|d d gddgdd    gd
œtddƒd}t ||¡|rÐt ||¡n"d |jdd…ddgf<t ||¡dS)Nrrr r$r%r&r!r"r#r'rrGrHr^r:r(r))    rrVrKrLr<r=r>r0r1)    rr[r3r4rrr5r6r7rrrÚ#test_subset_set_with_column_indexerûs
" 
& rrÚmethodcCs|ddgdd…S©Nr(r)rrr©rrrrÚ<lambda> órvcCs|dd…ddgS©Nrrr(r)rrurrrrv!rwcCs|ddgjdd…Srt©r/rurrrrv"rwcCs|ddgjdd…S)Nr(r)rr©rVrurrrrv#rwcCs|dd…jdd…dd…fS)Nrrryrurrrrv$rwcCs|dd…jdd…dd…fSrxrzrurrrrv%rwzrow-getitem-slicezcolumn-getitemzrow-iloc-slicez row-loc-sliceúcolumn-iloc-sliceúcolumn-loc-slicecCsø|\}}}|dddgdddgtjddd    g|d
d œƒ}| ¡}    |jjj}
|sV|
d k} n|
 d ¡ph|
 d¡} ||ƒ} d| jd<|s„| s’t     ||    ¡n|jddks¤t
‚||ƒ} d|jd<|ddgddgdœƒ} |sÔ| sât     | | ¡n| jddksôt
‚dS)Nrrr r!r"r#rCrDrErFr')z$numpy-single-block-column-iloc-slicez#numpy-single-block-column-loc-slicer{r|rr+©r(r)) r,rJrÚnodeZcallspecÚidÚendswithr/r0r1r.)rrrsrr3rNr4rrr5Z test_callspecZsubset_is_viewr6r7rrrÚtest_subset_chained_getitems0
&ÿ
 
ÿþ
 
rc
Csî|\}}}|dddgdddgtjddd    g|d
d œƒ}| ¡}|dd…d d d…}| ¡d |jd <|rzt ||¡n|jdd ksŒt‚|dd…d d d…}| ¡d |jd<|ddgd d}    |rØt ||    ¡n|jd d ksêt‚dS)Nrrr r!r"r#rCrDrErFr'r(rr+©Úname)    r,rJrZ_clear_item_cacher/r0r1r.Úassert_series_equal)
rrr3r4rrrr5r6r7rrrÚ"test_subset_chained_getitem_column_s$
&ÿ
 
r…cCs|dd…dd…S©Nr(r*r)r©Úsrrrrv‚rwcCs|jdd…jdd…S)Nrr rryr‡rrrrvƒrwcCs|jdd…jdd…Sr†rzr‡rrrrv„rwcCs6|jdd…jdd…jdd…jdd…jdd…S)Nr(r*rr rr)r)rVr/r‡rrrrv…sÿþýüÚgetitemr/rVz
long-chainc    Cs¾|\}}}|dddgdddgd}| ¡}||ƒ}d|jd<|rNt ||¡n|jddks`t‚|jdd…jdd…}d|jd<|ddgddgd}|r¨t ||¡n|jddksºt‚dS©    Nrrr r(r)r*r:r)rr/r0r„r.)    rrsr3r4rrˆÚs_origr6r7rrrÚ"test_subset_chained_getitem_seriess
 
 
rŒcCsàtdddgdddgddd    gd
œƒ}| ¡}|dd…jd jd d…}d |jd <|sX|rft ||¡n|jd d ksxt‚|dd…jd jd d…}d |jd <tddgd dgd d}|s¼|rÊt ||¡n|jd d ksÜt‚dS)Nrrr r!r"r#rCrDrEr'rr+r(r))r;rƒ)rrr/r0r1r.rr„)r3rNrr5r6r7rrrÚ$test_subset_chained_single_block_row¦s"
 
rcCs |dd…Sr
rrurrrrvÀrwcCs|jdd…dd…fSr
rzrurrrrvÁrwcCs|jdd…Sr
rzrurrrrvÂrwcCs|jdd…dd…fSr
ryrurrrrvÃrwcCs|jdd…Sr
ryrurrrrvÄrwzloc-rowsz    iloc-rowscCsz|\}}}|dddgdddgddd    gd
œƒ}| ¡}||ƒ}||k    sHt‚d |jd <|rdt ||¡n|jd d ksvt‚dS) Nrrr r!r"r#rCrDrEr'rr+)rr.r/r0r1)rrsr3r4rrr5Údf2rrrÚtest_null_slice½s
" 
rcCs |dd…Sr
rr‡rrrrvßrwcCs|jdd…Sr
rzr‡rrrrvàrwcCs|jdd…Sr
ryr‡rrrrvárwcCsp|\}}}|dddgdddgd}| ¡}||ƒ}||k    s>t‚d|jd<|rZt ||¡n|jddkslt‚dSrŠ)rr.r/r0r„)rrsr3r4rrˆr‹Ús2rrrÚtest_null_slice_seriesÜs
 
 
r‘cCsÀ|\}}}|dddgdddgd}| ¡}|dd…}t t|ƒt|ƒ¡sNt‚d|jd<|rtt t|ƒt|ƒ¡rtt‚|dddgdddgd}t ||¡|rªt ||¡n|jddks¼t‚dSrŠ)rr,r-rr.r/r0r„)rr3r4rrˆr‹r6r7rrrÚtest_series_getitem_sliceþs
 
 r’c
Csˆ|\}}}|dddgdddgd}| ¡}|dd…}d||ƒ|<|dddgdddgd}    t ||    ¡|rxt ||¡n t ||    ¡dSrŠ)rr0r„)
rrbr[r3r4rrˆr‹r6r7rrrÚ#test_series_subset_set_with_indexers    
   r“cCsÚ|\}}}|dddgdddgddd    gd
œƒ}| ¡}|dd…}t t|d ƒt|d ƒ¡s\t‚|d =t t|d ƒt|d ƒ¡s~t‚t ||¡t ||d d g¡|j ¡d|j    d<|rÄt ||¡n|j    ddksÖt‚dS)Nrrr r!r"r#r$r%r&r'r(r)r*éd©rr()
rr,r-rr.r0r1r<r=rV)rr3r4rrr5rŽrrrÚtest_del_frame3s
"  
 
r–cCs°|\}}}|dddgdddgd}| ¡}|dd…}t t|ƒt|ƒ¡sNt‚|d=t t|ƒt|ƒ¡rlt‚t ||¡t ||ddg¡|j}d|jd<|d    dks¬t‚dS)
Nrrr r(r)r*r:r”r)    rr,r-rr.r0r„ÚvaluesrV)rr4rrˆr‹rr—rrrÚtest_del_seriesOs
 
r˜c
Cs|\}}}|dddgdddgddd    gd
œƒ}| ¡}|d }t t|d ƒt|d ƒ¡sXt‚|s`|rjd |d <nF|d krvtnd}    t dd¡$t     |    ¡d |d <W5QRXW5QRX|d ddgd d}
t 
||
¡|rôt  ||¡t 
|d |d ¡nd |j d<t  ||¡dS)Nrrr r!r"r#r$r%r&r'r(rrrGrHr‚r+) rr,r-rr.rrKrLr0rMr„r1r/) rr3rNrOrrrr5rˆrHr7rrrÚtest_column_as_seriesgs$
"
 
r™c
 
Cs6|\}}}|dddgdddgddd    gd
œƒ}| ¡}|d }|d krztjtd dd|d<W5QRX|dddgd d}    np|s‚|r d|d<|dddgtd d}    nJt dd¡$t t    ¡d|d<W5QRXW5QRX|dddgtd d}    t 
||    ¡|rt  ||¡t 
|d |d ¡n|    |d <t  ||¡dS)Nrrr r!r"r#r$r%r&r'r(rz Invalid value)ÚmatchZfoorr‚)rrƒrGrH) rr`ZraisesÚ    TypeErrorÚobjectrKrLr0rMrr„r1)
rr3rNrOrrrr5rˆr7rrrÚ%test_column_as_series_set_with_upcast…s*
"   rcCs|dS©Nr(rrurrrrvªrwcCs|jdd…dfSržrzrurrrrv«rwcCs|jdd…dfS)Nrryrurrrrv¬rwc
Cs|\}}}|dddgdddgddd    gd
œƒ}| ¡}    ||ƒ}
||ƒ} d |jjk} |sX| rf|
| k    srt‚n |
| ksrt‚|sz|r†d |
jd <nH|d kr’tnd} t dd¡&t     | ¡d |
jd <W5QRXW5QRX|rðt 
| |    d¡t  ||    ¡n| jd d kst‚dS)Nrrr r!r"r#r$r%r&r'r/rrrGrHr() rr~rƒr.r/rrKrLr0rMr„r1)rrrsr3rNrOrr4rr5Ús1rZis_ilocrHrrrÚ#test_column_as_series_no_item_cache§s&
"    r cCs°|\}}}|dddgdddgdœƒ}|dd    d
gƒ}||d <t t|d ƒ|j¡rRt‚d |d <|dddgdddgdd    d
gd œƒ}t ||¡d|jd<|d d    d
gƒ}t ||¡dS)Nrrr r$r%r&r}rerfé Únewr)r(r)r¢r”)rr¢)    r,r-rr—r.r0r1rVr„)rr4rrrrˆr7Z
expected_srrrÚ%test_dataframe_add_column_from_seriesÔs
" 
r£Úvalr”zindexer_func, indexerr•r+cCsîtdddgdddgddd    gd
œƒ}| ¡}|dd…}|||ƒ|<|rŒt t|d ƒt|d ƒ¡sbt‚t t|d ƒt|d ƒ¡r~t‚t ||¡n^t t|d ƒt|d ƒ¡s¨t‚|d krÎt t|d ƒt|d ƒ¡rêt‚nt t|d ƒt|d ƒ¡sêt‚dS)Nrrr r!r"r#r$r%r&r'r)r(r*)rrr,r-rr.r0r1)r3Z indexer_funcr[r¤rr5ÚviewrrrÚ)test_set_value_copy_only_necessary_columnës"  r¦cCs’tdddgtj dddgdddgg¡d}|d}t t|ƒt|ƒ¡sJt‚d|jd<|rŽtdddgtj dddgdddgg¡d}t     
||¡dS)    Nrrr r!r"r:r”r) rrKÚ
MultiIndexZ from_arraysr,r-rr.r/r0r„©r3rÚresultr7rrrÚtest_series_midx_slices*
ÿrªcCsvtddgdddœƒ}| ¡}|d}|r8|j d¡r8t‚|sXt t|dƒt|dƒ¡sXt‚|rrd|jd    <t     
||¡dS)
Nrr)©r(Úx)r(Úy)r)r¬)r(rr«r¬r”r+) rrr<rkr.r,r-rr/r0r1)r3rNrr5Znew_dfrrrÚtest_getitem_midx_slices
r®cCs~tdddgtj dddg¡d}|d}t t|ƒt|ƒ¡s@t‚d    |jd
<|rztdddgtj dddg¡d}t     
||¡dS) Nrrr )©rrr )r¯r!))rr r!r:r¯r”r) rrKr§Ú from_tuplesr,r-rr.r/r0r„r¨rrrÚtest_series_midx_tuples_slice*sþ
þr±)7rr,r`Z pandas.errorsrZpandas.core.dtypes.commonrZpandasrKrrZpandas._testingZ_testingr0Zpandas.tests.copy_view.utilrZfixturerr8r9r?ÚmarkZ parametrizerPrRrJrYrZrcrdrgrirjrqrrrr…rŒrrr‘r’r“r–r˜r™rr r£rVr/r¦rªr®r±rrrrÚ<module>sZ    
##ÿ
'ÿ$ýý/ÿ$ýý/$ý
%ÿ
% ÿ
 ý
ú    úöÿ ,ÿ
ü
 
ô
û ÷
ýù    
$ý
"ýù    
$úþ