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
U
­ý°dK9ã@sDddlZddlZddlZddlmZddlm    Z    Gdd„de    ƒZ
dS)éN)ÚBaseExtensionTestsc
@sÜeZdZejdd„dd„dd„dd„dd„dd„dd„gd    d
d d d ddgddd„ƒZdd„Zdd„Zdd„Zdd„Z    dd„Z
ej   dddg¡d d!„ƒZ d"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zej j de d.d.d.d/d/g¡ejd.d.d.d/d/gd0d1ejd.d.d.ejejgd0d1gd2d3d4gd5d6d7„ƒZd8d9„Zd:d;„Zej j d<d=d>d?gejd=d>d?gd@d1e d=d>d?g¡gdAdBd2gd5dCdD„ƒZej j dEd=d>d?ejgd/fejd=d>d?ejgd.ej jdFdGdHejd=d>d?ejgd@d1d/fejd=d>d?ejgd@d1d/fgdIdJdKdLgd5dMdN„ƒZej   dOd.d/g¡ej   dddPg¡dQdR„ƒƒZej   dddPg¡dSdT„ƒZ dUdV„Z!dWdX„Z"dYdZ„Z#d[d\„Z$d]d^„Z%d_d`„Z&dadb„Z'dcdd„Z(dedf„Z)dgdh„Z*didj„Z+dkdl„Z,dmdn„Z-dodp„Z.dqdr„Z/dsdt„Z0dudv„Z1dPS)wÚBaseSetitemTestscCs|jS©N©Úindex©Úx©r    úZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/base/setitem.pyÚ<lambda> ózBaseSetitemTests.<lambda>cCs
t|jƒSr)Úlistrrr    r    r
r r cCstdƒSr)Úslicerr    r    r
r r cCstdt|ƒƒS)Nr)rÚlenrr    r    r
r r cCs tt|ƒƒSr)Úrangerrr    r    r
r r cCsttt|ƒƒƒSr)r rrrr    r    r
r r cCstjt|ƒtdS©N©Údtype)ÚnpZonesrÚboolrr    r    r
r r rz list[index]Z
null_sliceZ
full_slicerz list(range)Úmask)ÚparamsÚidscCs|jS)z·
        Fixture for an indexer to pass to obj.loc to get/set the full length of the
        object.
 
        In some cases, assumes that obj.index is the default RangeIndex.
        )Úparam)ÚselfÚrequestr    r    r
Ú full_indexer
szBaseSetitemTests.full_indexercCs2|rt |¡}|d|d<|d|dks.t‚dS©Nér©ÚpdÚSeriesÚAssertionError©rÚdataÚ box_in_seriesr    r    r
Útest_setitem_scalar_series's
 z+BaseSetitemTests.test_setitem_scalar_seriescCsZ|rt |¡}| ¡}|d|dg|ddg<|d|dksBt‚|d|dksVt‚dSr)r r!Úcopyr"©rr$r%Úoriginalr    r    r
Útest_setitem_sequence-s 
z&BaseSetitemTests.test_setitem_sequencec    Cs¢t |¡}| ¡}|dg}|r*| |¡}d}tjt| d¡d||ddg<W5QRX| ||¡tjt| d¡d||t    dƒ<W5QRX| ||¡dS)Nrz5cannot set using a {} indexer with a different lengthz    list-like©Úmatchrré)
r r!r'Z_from_sequenceÚpytestÚraisesÚ
ValueErrorÚformatÚassert_series_equalr)rr$Zas_arrayÚserr)ÚvalueÚxprr    r    r
Ú.test_setitem_sequence_mismatched_length_raises6s
 
 
 z?BaseSetitemTests.test_setitem_sequence_mismatched_length_raisescCs8|rt |¡}| ¡}g|tjgtd<| ||¡dSr)r r!r'rÚarrayÚintÚ assert_equalr(r    r    r
Útest_setitem_empty_indexerGs
 
z+BaseSetitemTests.test_setitem_empty_indexercCsJ|rt |¡}|d|ddg<|d|dks2t‚|d|dksFt‚dS)Nérrrr#r    r    r
Ú test_setitem_sequence_broadcastsNs
 
z1BaseSetitemTests.test_setitem_sequence_broadcastsÚsetterÚlocÚiloccCs8t |¡}t||ƒ}|d|d<|d|dks4t‚dSr)r r!Úgetattrr")rr$r=Úarrr    r    r
Útest_setitem_scalarUs
 
 z$BaseSetitemTests.test_setitem_scalarcCsBt t t|ƒ¡|dœ¡}|d|jd<|jd|dks>t‚dS)N©ÚAÚBr©rrE)r Ú    DataFramerÚarangerr>r"©rr$Údfr    r    r
Útest_setitem_loc_scalar_mixed\sz.BaseSetitemTests.test_setitem_loc_scalar_mixedcCs6t d|i¡}|d|jd<|jd|dks2t‚dS)NrEr©é
rE©r rGr>r"rIr    r    r
Útest_setitem_loc_scalar_singleasz/BaseSetitemTests.test_setitem_loc_scalar_singlecCs8t ||dœ¡}|d|jd<|jd|dks4t‚dS)NrCrrLrNrIr    r    r
Ú,test_setitem_loc_scalar_multiple_homogoneousfsz=BaseSetitemTests.test_setitem_loc_scalar_multiple_homogoneouscCsBt t t|ƒ¡|dœ¡}|d|jd<|jd|dks>t‚dS)NrCr©rrrF)r rGrrHrr?r>r"rIr    r    r
Útest_setitem_iloc_scalar_mixedksz/BaseSetitemTests.test_setitem_iloc_scalar_mixedcCs6t d|i¡}|d|jd<|jd|dks2t‚dS)NrEr)rMrrL©r rGr?r>r"rIr    r    r
Útest_setitem_iloc_scalar_singlepsz0BaseSetitemTests.test_setitem_iloc_scalar_singlecCs8t ||dœ¡}|d|jd<|jd|dks4t‚dS)NrCr)rMrrLrSrIr    r    r
Ú-test_setitem_iloc_scalar_multiple_homogoneoususz>BaseSetitemTests.test_setitem_iloc_scalar_multiple_homogoneousTFÚbooleanrz numpy-arrayz boolean-arrayzboolean-array-na)rcCsX|dd… ¡}| dddddg¡}|r<t |¡}t |¡}|d||<| ||¡dS©Nérr-é©r'Útaker r!r9)rr$rr%rAÚexpectedr    r    r
Útest_setitem_maskzs
 
 
 z"BaseSetitemTests.test_setitem_maskc    Cszt ddg¡}|rt |¡}tjtdd|d||<W5QRXtj|dd}tjtdd|d||<W5QRXdS)NTFz wrong lengthr+rrVr)rr7r r!r.r/Ú
IndexError©rr$r%rr    r    r
Útest_setitem_mask_raisesŒs
z)BaseSetitemTests.test_setitem_mask_raisescCsntjtj|jdddd}d|dd…<tj|dd…<|rBt |¡}|d||<|dd…|dk ¡sjt‚dS)NrrrVTr-rXr)    r r7rÚzerosÚshapeÚNAr!Úallr"r_r    r    r
Ú'test_setitem_mask_boolean_array_with_našs 
 z8BaseSetitemTests.test_setitem_mask_boolean_array_with_naÚidxrrr;ZInt64r z integer-arraycCsX|dd… ¡}| dddddg¡}|r<t |¡}t |¡}|d||<| ||¡dSrWrZ)rr$rfr%rAr\r    r    r
Útest_setitem_integer_array¦s
 
 z+BaseSetitemTests.test_setitem_integer_arrayzidx, box_in_serieszGH-31948)Úreason)Zmarksz
list-Falsez    list-Truezinteger-array-Falsezinteger-array-Truec    CsZ| ¡}|r,tj|dd„tt|ƒƒDƒd}d}tjt|d|d||<W5QRXdS)NcSsg|]}t d¡‘qS)rY)ÚtmZrands)Ú.0Ú_r    r    r
Ú
<listcomp>ÈszMBaseSetitemTests.test_setitem_integer_with_missing_raises.<locals>.<listcomp>rz9Cannot index with an integer indexer containing NA valuesr+r)r'r r!rrr.r/r0)rr$rfr%rAÚmsgr    r    r
Ú(test_setitem_integer_with_missing_raises¶s  z9BaseSetitemTests.test_setitem_integer_with_missing_raisesÚ as_callableNcsžt |¡}tjt|ƒtd‰dˆdd…<|r:‡fdd„}nˆ}|rNt||ƒ}n|}|dd…||<|dd…||<|d|dks†t‚|d    |d
ksšt‚dS) NrTr;csˆSrr    r©rr    r
r Ör z<BaseSetitemTests.test_setitem_mask_aligned.<locals>.<lambda>rXérré©r r!rrarrr@r")rr$ror=r3Zmask2Útargetr    rpr
Útest_setitem_mask_alignedÎs
  z*BaseSetitemTests.test_setitem_mask_alignedcCstt |¡}tjt|ƒtd}d|dd…<|r8t||ƒ}n|}|d||<|d|dks\t‚|d|dkspt‚dS)NrTr;rMrrrs)rr$r=r3rrtr    r    r
Útest_setitem_mask_broadcastçs
   z,BaseSetitemTests.test_setitem_mask_broadcastcCs’t d|i¡}| ¡}d|d<t |dgt|ƒdœ¡}| ||¡| ¡}d|jdd…df<| ||¡||d<t ||dœ¡}| ||¡dS©NrDrrErC)r rGr'rÚassert_frame_equalr>©rr$rJÚresultr\r    r    r
Útest_setitem_expand_columnsös  z,BaseSetitemTests.test_setitem_expand_columnscCsxt ddgt|ƒi¡}| ¡}||d<t dgt|ƒ|dœ¡}| ||¡| ¡}||jdd…df<| ||¡dSrw)r rGrr'rxr>ryr    r    r
Ú"test_setitem_expand_with_extensions z3BaseSetitemTests.test_setitem_expand_with_extensionc    Csht ddgt|ƒi¡}dt|dd…ƒ›dt|ƒ›d}tjt|d|dd…|d<W5QRXdS)    NrDrzLength of values \(rXz$\) does not match length of index \(z\)r+rE)r rGrr.r/r0)rr$rJr5r    r    r
Ú!test_setitem_frame_invalid_lengths
 ÿz2BaseSetitemTests.test_setitem_frame_invalid_lengthcCsPtj|dd…ddgd}tj| ddg¡|jd}|d|d<| ||¡dS)Nr;)rrrQrr)r r!r[rr2)rr$r3r\r    r    r
Útest_setitem_tuple_indexs z)BaseSetitemTests.test_setitem_tuple_indexcCs\|dd… ¡}| dddddg¡}|r<t |¡}t |¡}|d|dd…<| ||¡dSrWrZ)rr$r%rAr\r    r    r
Útest_setitem_slice s
 
z#BaseSetitemTests.test_setitem_slicecCs˜|dd… ¡}tj|dddddgd}tj| dddd    d
g¡|jd}| ¡}|d|jdd    …<| ||¡| ¡}|d|jdd…<| ||¡dS) NrXÚaÚbÚcÚdÚerrr-rY)r'r r!r[rr?r9r>)rr$rAÚsr\rzr    r    r
Útest_setitem_loc_iloc_slice*s  z,BaseSetitemTests.test_setitem_loc_iloc_slicec    Cs:|dd…}t t¡|dd…|dd…<W5QRXdS)NrXr;r)r.r/r0©rr$rAr    r    r
Ú)test_setitem_slice_mismatch_length_raises7s  z:BaseSetitemTests.test_setitem_slice_mismatch_length_raisescCs<|dd… ¡}|dd…|dd…<| ||dd…¡dS)NrXéûÿÿÿ)r'Zassert_extension_array_equalr‡r    r    r
Útest_setitem_slice_array<sz)BaseSetitemTests.test_setitem_slice_arrayc    Cs:|dd… ¡}t t¡|ddg|d<W5QRXdS)NrXrr)r'r.r/r0r‡r    r    r
Ú&test_setitem_scalar_key_sequence_raiseAs z7BaseSetitemTests.test_setitem_scalar_key_sequence_raisecCsL| ¡}|dd…}|d|d<|d|dks4t‚|d|dksHt‚dSr)Úviewr")rr$Zview1Zview2r    r    r
Útest_setitem_preserves_viewsFs
  z-BaseSetitemTests.test_setitem_preserves_viewscCsPt dt |¡i¡}}tj|jd}||ƒ}|d|j|df<| ||¡dS)Nr$r)r rGr!rr>rx)rr$rrJr\rzÚkeyr    r    r
Ú,test_setitem_with_expansion_dataframe_columnOs
z=BaseSetitemTests.test_setitem_with_expansion_dataframe_columncCsˆt d|dd…i¡}|d|jd<t d|dd…i¡}| ||¡||jd<t dtj|d|d|g|jdi¡}| ||¡dS)Nr$r)rr$r;)r;r$rr)r rGr>rxr!r)rr$Zna_valuerJr\r    r    r
Útest_setitem_with_expansion_rowYs 
 ÿz0BaseSetitemTests.test_setitem_with_expansion_rowcCs\tj|dd}tj|jtdd}||ƒ}||j|<tj| t¡|jdtd}| ||¡dS)Nr$©Úname)rrr’)rr’r)r r!rÚobjectr>Zastyper2)rr$rr3rzrŽr\r    r    r
Útest_setitem_seriesgs
ÿz$BaseSetitemTests.test_setitem_seriescCsÜt d|i¡}t|jtjjjƒ}tjjj    }|jj
d}|  ¡}||j dd…<|  ||¡|j dd…|j dd…<|  ||¡|j|j dd…<|  ||¡|s´|s´|jj
d|ks´t‚|jdd…|j dd…<|  ||¡dS)NrDréÿÿÿÿ)r rGÚ
isinstanceZ_mgrÚcoreZ    internalsZ ArrayManagerÚoptionsÚmodeZ copy_on_writeZarraysr'r?rxÚvaluesr")rr$rJZusing_array_managerZusing_copy_on_writeZblk_dataÚorigr    r    r
Útest_setitem_frame_2d_valuesvs
    z-BaseSetitemTests.test_setitem_frame_2d_valuescCsFtj|dd}t t|ƒ¡}t |d¡}||}|d=| ||¡dS)Nr$r‘r)r r!rrHrÚdeleter2)rr$r3Ztakerr\r    r    r
Útest_delitem_series“s  z$BaseSetitemTests.test_delitem_seriesc    CsXd}tjttf|d||d<W5QRXtjttf|d||dd…<W5QRXdS)NÚr+r)r.r/r0Ú    TypeError)rr$Zinvalid_scalarrmr    r    r
Útest_setitem_invalidžs
z%BaseSetitemTests.test_setitem_invalidcCsŠ| ¡}t ||dœ¡}|jddgdd…fj|jddgdd…f<|jddd…f|dk ¡sdt‚|jddd…f|dk ¡s†t‚dS)N)r€rrr)r'r rGr>ršrdr")rr$r)rJr    r    r
Útest_setitem_2d_values¦s
*"z'BaseSetitemTests.test_setitem_2d_values)2Ú__name__Ú
__module__Ú __qualname__r.Zfixturerr&r*r6r:r<ÚmarkZ parametrizerBrKrOrPrRrTrUrr7r rcr]r`rergrZxfailrnrurvr{r|r}r~rr†rˆrŠr‹rrrr”rœržr¡r¢r    r    r    r
r    sªù
ùö
        
ýù    
     *ý
  ÿú
ö
 
     
     
 r) Únumpyrr.Zpandasr Zpandas._testingZ_testingriZ pandas.tests.extension.base.baserrr    r    r    r
Ú<module>s