zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
U
­ý°d±Zã@sœddlmZddlZddlZddlmZmZddl    m
m Z ddl Zddl mZmZmZmZmZddlmZdZd dd„ZGd    d
„d
ƒZGd d „d ƒZdS)é)Ú ascii_lettersN)ÚSettingWithCopyErrorÚSettingWithCopyWarning)Ú    DataFrameÚSeriesÚ    TimestampÚ
date_rangeÚoption_contextzAA value is trying to be set on a copy of a slice from a DataFrameédcCs@tjjttƒ|dfd}|jdddd„|Dƒ}t|dgdS)    Né)Úsizeé)ZaxiscSs g|]}t|d|d…‘qS)rr )Úletters)Ú.0Úx©rúfd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexing/test_chaining_and_caching.pyÚ
<listcomp>szrandom_text.<locals>.<listcomp>r©Úcolumns)ÚnpÚrandomÚrandintÚlenrÚsortr)ZnobsZidxsÚstringsrrrÚ random_texts rc@s>eZdZdd„Zej dddg¡dd„ƒZdd    „Zd
d „Z    d S) Ú TestCachingc
Cs¸tddƒ¤tt d¡dgddœƒ}d|d<|dt|ƒ|rft ¡d|djd    <W5QRXnd|djd    <| ¡|s–t     |dd    d¡nt     |dd    d¡W5QRXdS)
NÚchained_assignmenté皙™™™™@©ZaaÚbbçÚccr"gÃõ(\ÂÅ?r)
r    rrÚarangeÚreprÚtmÚraises_chained_assignment_errorÚilocZ_clear_item_cacheZassert_almost_equal©ÚselfÚusing_copy_on_writeÚdfrrrÚ,test_slice_consolidate_invalidate_item_cache#s 
z8TestCaching.test_slice_consolidate_invalidate_item_cacheÚdo_refTFcCs|dddddddg}t||dd…|dd…t d    ¡d
œƒ}|rJ|jd d |jd <|jd dksft‚|jd dksxt‚dS)NÚoneÚtwoÚthreeZfourZfiveÚsixZsevenéé©ÚaÚbÚc)rr9r )r5r9r#gð?)rrr%ÚlocÚAssertionError)r+r/Zcontr-rrrÚtest_setitem_cache_updating?s*
 
z'TestCaching.test_setitem_cache_updatingc
Cstddddgitddƒd}tddddgitddƒd}tdddgddd    gd
œƒ}tdƒ}tdƒ}| ¡D]8\}}|j||…|d f|d |j||…|d f<qjt ||¡t |d|d¡tddddgitddƒd}| ¡}    | ¡D]h\}}||d ||…|d }
|rDt     ¡|
||d ||…<W5QRXqð|
||d ||…<qð|s‚t ||¡t |d|d¡n t ||    ¡t |d|    d¡tddddgitddƒd}| ¡D],\}}|j||…|d f|d 7<qÆt ||¡t |d|d¡dS) NÚAiXz5/7/2014z5/9/2014)Úindexrr
éÈi,)ÚCÚDr@rA)
rrrZiterrowsr:r'Úassert_frame_equalÚassert_series_equalÚcopyr() r+r,ÚexpectedÚoutr-r3ZeixÚixÚrowZ out_originalÚvrrrÚ"test_setitem_cache_updating_slicesPs< ÿ2 
   & z.TestCaching.test_setitem_cache_updating_slicescCsštddgddggddgddgd    }|d}|r>d|jksLt‚nd|jksLt‚d
|d <t|ƒdksdt‚d|jksrt‚|d|k    s‚t‚t|dƒdks–t‚dS) Nr r r4ér7r8r=ÚB)r>rrr9)rZ _item_cacher;r)r+r,r-ÚserrrrÚ(test_altering_series_clears_parent_cache|s"z4TestCaching.test_altering_series_clears_parent_cacheN)
Ú__name__Ú
__module__Ú __qualname__r.ÚpytestÚmarkÚ parametrizer<rJrNrrrrr"s
 
,rc
@steZdZdd„Zejjdd„ƒZejjdd„ƒZejjdd„ƒZ    ejjd    d
„ƒZ
ejjd d „ƒZ ejjd d„ƒZ ejjdd„ƒZ ejjdd„ƒZejjdd„ƒZejjdd„ƒZejjdd„ƒZejjdd„ƒZejjdd„ƒZejjdd„ƒZejjdd „ƒZd!d"„Zd#d$„Zd%d&„Zej d'd(ed)d*d+d(d,giƒg¡d-d.„ƒZejd/d0„ƒZd1d2„Zd3d4„Z d5d6„Z!d7d8„Z"d9S):Ú TestChainingc
    Cs¢dddddddg}dddddddg}tdt |¡iƒ}|jdk}|rxt ¡d|j|<W5QRXt |td|iƒ¡nd|j|<t |td|iƒ¡tjj|gdgd}t|ƒ}|jdk}|rôt ¡d|j|<W5QRXt |td|iƒ¡nd|j|<t |td|iƒ¡t||dœƒ}|     ¡}|jdk}|rdt ¡d|j|<W5QRXt ||¡n d|j|<t |t||dœƒ¡tdtj
d    d
d d    giƒ}tdt d d    d
d d    g¡iƒ}|rút ¡tj
|dj d <W5QRXtdd d    d
d d    giƒ}n(tj
|dj d <tdtj
d    d
d d    giƒ}|  ¡}    t |    |¡tdt d d    d
d d    g¡iƒ}|r|t ¡tj
|j j d <W5QRXntj
|j j d <|  ¡}    t |    |¡dS) NÚrightÚleftÚtimeoutÚnoneÚresponse)Únames)rZZ    response1r=ÚbarZbahÚfoor)rrÚarrayrZr'r(rBZrecZ
fromarraysrDÚnanr)Úheadr=)
r+r,ÚdataZmdatar-ÚmaskZrecarrayÚ df_originalrEÚresultrrrÚtest_setitem_chained_setfaultsZ
 
 
 
 
 
 
 
 
 
 
z*TestChaining.test_setitem_chained_setfaultc
CsâtddƒÎtddgddggtdƒd}tt d    ¡ d
d
¡tdƒd d }| ¡}|jdks^t‚|r°t     
¡d|d d<W5QRXt     
¡d|d d<W5QRXt      ||¡n$d|d d<d|d d<t      ||¡W5QRXdS)NrÚraiseéûÿÿÿr éúÿÿÿr4ÚABrrKr Úint64)rÚdtyper=r) r    rÚlistrr%ÚreshaperDÚ_is_copyr;r'r(rB)r+r,rEr-rcrrrÚtest_detect_chained_assignmentËs$ ÿ
 
  z+TestChaining.test_detect_chained_assignmentc    CsRtttdƒddtjt dd¡tjddœƒ}| ¡}|jdksDt    ‚|r–t
  ¡d|dd<W5QRXt
  ¡d    |dd
<W5QRXt
  ||¡n¸|süt jttd d|dd<W5QRXt jttd tj|dd
<W5QRX|djdksút    ‚nRd|dd<d    |dd
<tddgd    d ggtd ƒd}|d d¡|d<t
  ||¡dS)Nr rj©rkrK©r=rLrgr=rrhr ©Úmatchr4rirrLÚfloat64)rrÚrangerr^r%rtrDrnr;r'r(rBrRÚraisesrÚmsgr_rlZastype)r+Úusing_array_managerr,r-rcrErrrÚ%test_detect_chained_assignment_raisesás0þÿ
 
  z2TestChaining.test_detect_chained_assignment_raisesc    Cs‚tttdƒddtjt dd¡tjddœƒ}|rVt ¡d|j    dd<W5QRXn(t
j t t d    d|j    dd<W5QRXdS)
Nr rjrprKrqrgrr=rr)rrrurr^r%rtr'r(r:rRrvrrwr*rrrÚ$test_detect_chained_assignment_failssþÿ
z1TestChaining.test_detect_chained_assignment_failsc    Cs¢tdddddddgttdƒdddœƒ}|jdks6t‚|rj|jj d    ¡}t     ¡d
||d <W5QRXn4t
j t t d  |jj d    ¡}d
||d <W5QRXdS) Nr0r1r2r3r5rjrp)r7r9Úoé*r9rr)rrrurnr;r7ÚstrÚ
startswithr'r(rRrvrrw©r+r,r-ÚindexerrrrÚ*test_detect_chained_assignment_doc_examplesþÿ
z7TestChaining.test_detect_chained_assignment_doc_examplec    Csøtdddgdddgdœƒ}tdddgdddgdœƒ}| ¡}|shtjttd    d|jd
d <W5QRX|ršt ¡d|d d
<W5QRXt     ||¡nZ|sÜtjttd    d|d d
<W5QRXd|jd <t     ||¡nd|d d
<t     ||¡dS) NéoÚbbbÚcccr r r4rqÚaaarrrr=)rr=)
rrDrRrvrrwr:r'r(rB)r+rxr,rEr-rcrrrÚ+test_detect_chained_assignment_object_dtype+s"
 
 z8TestChaining.test_detect_chained_assignment_object_dtypec    Csdtdddgiƒ}|jdkst‚t d¡2}| |¡t |¡}|d|d<|d|d<W5QRXdS)Nr=r r Z __tmp__picklerL)rrnr;r'Z ensure_cleanZ    to_pickleÚpdZ read_pickle)r+r-ÚpathÚdf2rrrÚ-test_detect_chained_assignment_is_copy_pickleGs 
 
 z:TestChaining.test_detect_chained_assignment_is_copy_picklecCsŠtdƒ}|jdddg}|jdk    s&t‚|jddddg}|jdk    sFt‚|j dd„¡}|j| ¡}|jdksrt‚|d tj    ¡|d<dS)    N順rr r rKcSs t|ƒdkS©Né
©r©rrrrÚ<lambda>aózSTestChaining.test_detect_chained_assignment_setting_entire_column.<locals>.<lambda>r)
rr)rnr;rÚapplyr:rDr}Úlower)r+r-rr€rrrÚ4test_detect_chained_assignment_setting_entire_columnSszATestChaining.test_detect_chained_assignment_setting_entire_columncCsHtdƒ}|j dd„¡}|j|}|jdk    s0t‚|d tj¡|d<dS)Nr‹cSs t|ƒdkSrŒrŽrrrrrkr‘zKTestChaining.test_detect_chained_assignment_implicit_take.<locals>.<lambda>r)rrr’r:rnr;r}r“©r+r-r€rrrÚ,test_detect_chained_assignment_implicit_takegs
 
z9TestChaining.test_detect_chained_assignment_implicit_takecCs|rt d¡tdƒ}|j dd„¡}|j|}|jdk    s>t‚|d tj    ¡|jdd…df<|jdk    sjt‚|d tj    ¡|d<|jdksŒt‚dS)Nz"_is_copy is not always set for CoWr‹cSs t|ƒdkSrŒrŽrrrrrwr‘zLTestChaining.test_detect_chained_assignment_implicit_take2.<locals>.<lambda>r)
rRÚskiprrr’r:rnr;r}r“rrrrÚ-test_detect_chained_assignment_implicit_take2qs
 
z:TestChaining.test_detect_chained_assignment_implicit_take2cCs<tdƒ}|j dd„¡}|j|df tj¡|j|df<dS)Nr‹cSs t|ƒdkSrŒrŽrrrrr‡r‘zATestChaining.test_detect_chained_assignment_str.<locals>.<lambda>r)rrr’r:r}r“r•rrrÚ"test_detect_chained_assignment_str„sz/TestChaining.test_detect_chained_assignment_strcCs4tddgiƒ ¡}|jdks t‚|dd7<dS)Nr7r )rZdropnarnr;©r+r-rrrÚ&test_detect_chained_assignment_is_copyŠsz3TestChaining.test_detect_chained_assignment_is_copycCs^ttj dd¡ƒ}|jdd…df ¡}t ||jdd…df ¡¡t ||d ¡¡dS)NrrKr)rrrÚrandnr)Z sort_valuesr'rC)r+r-rMrrrÚ&test_detect_chained_assignment_sorting‘sz3TestChaining.test_detect_chained_assignment_sortingcCsntdddgdddgdœƒ}t|ƒ|dd|d<t|ƒ||ddk}t|ƒ|dd    |d<t|ƒdS)
Nr7rKéé    )Úcolumn1Úcolumn2r r8r¡r9)rr}ršrrrÚ.test_detect_chained_assignment_false_positives™sz;TestChaining.test_detect_chained_assignment_false_positivesc    CsŽtt dd¡dgd}d|d<| ¡}|r^t ¡d|jdd…d<W5QRXt ||¡n,tj    t
t d    d|jdd…d<W5QRXdS)
NrrŸÚcountrr8Úgroupr7rrr) rrr%rDr'r(r)rBrRrvrrw)r+r,r-rcrrrÚ/test_detect_chained_assignment_undefined_column¨s
z<TestChaining.test_detect_chained_assignment_undefined_columnc    CsZttdddtj d¡tjddddddd    d
gd œƒ}| ¡}|r²t ¡d |j    d d<W5QRXt ¡d |j    d d<W5QRXt ¡d |dd <W5QRXt 
||¡|sVt j t tdd |j    d d<W5QRXt j t tdd |j    d d<W5QRX|s6t j t tdd |dd <W5QRXn d |dd <|j    dd ksVt‚dS)NZ20130101r)Zperiodsrjrpr7r8r9ÚdÚe)r=rLr@rAr]r rAr@rr)r r@)rrrrrœr%rDr'r(r:rBrRrvrrwr;)r+rxr,r-rcrrrÚ-test_detect_chained_assignment_changing_dtype¸s4
 
  üÿ
 
 
  z:TestChaining.test_detect_chained_assignment_changing_dtypec    Cs®tttdƒƒtdƒddtjdgdœƒ}| ¡}t |j¡}|rxt     
¡|dg||dg|<W5QRXt      ||¡n2t j ttd|dg||dg|<W5QRXdS)    NrKzab..r7r8r¦r6r9rr)rrlrurr_rDr‡Zisnar9r'r(rBrRrvrrw)r+r,r-rcrbrrrÚtest_setting_with_copy_bugàs ÿ 
"z'TestChaining.test_setting_with_copy_bugcCs>ttdddgƒtdddgƒdœƒ}|dg}d    d
d g|d <dS) Nr7r8r9r¦r§Úf)rÚyrÚgÚhÚir«)rr)r+Zdf1r‰rrrÚ%test_setting_with_copy_bug_no_warningðs"
z2TestChaining.test_setting_with_copy_bug_no_warningc
CsÀtdddgdddgdœƒ}|rDt ¡d|jd    d
<W5QRXdStd d ƒ*t t¡d|jd    d
<W5QRXW5QRXtd d ƒ.tjt    t
dd|jd    d
<W5QRXW5QRXdS)Nr…rƒr„r r r4rqr‚rr=rÚwarnrfrr) rr'r(r:r    Úassert_produces_warningrrRrvrrwr*rrrÚ.test_detect_chained_assignment_warnings_errorsùs
  " z;TestChaining.test_detect_chained_assignment_warnings_errorsÚrhsr4rr r rKc
Cs¦tt d¡ dd¡ƒ}| ¡}|jdd…}tddƒf|snt t    ¡ }||d<|dj
t ksbt ‚W5QRXn*t d¡||d<W5QRXt  ||¡W5QRXdS)Nérr4rr°r r)rrr%rmrDr:r    r'r±rÚfilenameÚ__file__r;rB)r+r³r,r-rcZchainedÚtrrrÚ1test_detect_chained_assignment_warning_stacklevels   z>TestChaining.test_detect_chained_assignment_warning_stacklevelcCsœtdt d¡gdt d¡gdœƒ}|djd}|jd}t ||¡|jdd}t ||¡|djd}t ||¡|djd}t ||¡dS)Nrr4rqr=r )r r=)rrÚzerosZonesr)r:r'Zassert_numpy_array_equal)r+r-rErdZresult2Zresult3Zresult4rrrÚtest_chained_getitem_with_listss&
   z,TestChaining.test_chained_getitem_with_listscCsHt ¡}|d|jd|jd<d|djks2t‚d|djksDt‚dS)Nr=rz Hello FriendrL)r'Z makeDataFramer)r:r>r;ršrrrÚtest_cache_updating-s
z TestChaining.test_cache_updatingc    Csîttjddddddddgtd    ƒd
}d |d <| ¡}|rptjtd dd|jj    d<W5QRXt
  ||¡dSd|jj    d<d|jj    d<ttjddddddddd gtd    ƒd
}d|j d<t
  ||¡t d d d dd gd d}t
 |j|¡dS)N)rrrjrpr7r8r9r¦r§r)rr>rrªz    read-onlyrrr r4r )ré)r4rª©Úname)rrr¹rurDrRrvÚ
ValueErrorrªÚvaluesr'rBÚatrrC)r+r,r-Zdf_origrErrrÚtest_cache_updating26s.  ý    ý
 z!TestChaining.test_cache_updating2c
CsðtddƒÜttdƒdgddœƒ}d|d<dgt|ƒ}|rbt ¡d|d    jd
<W5QRXnd|d    jd
<|j||r¢t ¡d |d    jd
<W5QRXnd |d    jd
<|sÌ|d    jd
d ksât‚n|d    jd
dksât‚W5QRXdS) Nrrr r!r#r$Tg¤p=
×£À?r"rg333333Ã?)r    rrurr'r(r)r;)r+r,r-ZckrrrÚ$test_iloc_setitem_chained_assignmentRs  
 
 
z1TestChaining.test_iloc_setitem_chained_assignmentc    Cs„tddddgiƒ}|r:t ¡d|djd<W5QRXnd|djd<t |tddddgiƒ¡t |dtdddgdd¡dS)Nr7rééé(rKr½)rr'r(r:rBrCrr*rrrÚ'test_getitem_loc_assignment_slice_statens
z4TestChaining.test_getitem_loc_assignment_slice_stateN)#rOrPrQrerRrSZarm_slowroryrzrr†rŠr”r–r˜r™r›rr¢r¥r¨r©r¯r²rTrr¸ÚtdZ&skip_array_manager_not_yet_implementedrºr»rÂrÃrÇrrrrrUsT;
 
$
 
 
 
 
 
    
 
 
 
 
 
 
'     
 
    rU)r
)ÚstringrrÚnumpyrrRZ pandas.errorsrrZpandas.util._test_decoratorsÚutilZ_test_decoratorsrÈZpandasr‡rrrrr    Zpandas._testingZ_testingr'rwrrrUrrrrÚ<module>s  
    m