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
146
147
148
149
150
151
152
U
­ý°drOã@s¦ddlZddlZddlZddlmZddlZddlmZm    Z    m
Z
m Z m Z m Z ddlmZej dddg¡dd„ƒZej d    d
d g¡d d „ƒZdd„ZGdd„dƒZdS)éN)ÚPerformanceWarning)Ú    DataFrameÚ DatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ    Timestampzmsg,labels,level)zlabels \[4\] not found in leveléÚa)zlabels \[7\] not found in leveléÚbc    Csštjdddgdddggddgd    }td
d d g|d }td
d d g|d }tjt|d|j||dW5QRXtjt|d|j||dW5QRXdS)Nééér    éér
r ©Únamesé
éé©Úindex©Úmatch©Úlevel)rÚ from_arraysrrÚpytestÚraisesÚKeyErrorÚdrop)ÚmsgÚlabelsrÚmiÚsÚdf©r'ú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_drop.pyÚ0test_drop_raise_exception_if_labels_not_in_levels    "r)z labels,level)r    r
)r r cCs‚tjdddgdddggddgd    }td
d d g|d }td
d d g|d }|j||dd}t ||¡|j||dd}t ||¡dS)Nr rrr    rrr
r rrrrrÚignore)rÚerrors)rrrrr!ÚtmZassert_series_equalÚassert_frame_equal)r#rr$r%r&Z
expected_sZ expected_dfr'r'r(Útest_drop_errors_ignore's" r.c    Cslttj dd¡dddgtjddddd    }|jd
d d dg ¡}tj    t
d d |  ddg¡W5QRXdS)Nrrr
r ÚcZ2012ÚH)ÚfreqZperiods©Úcolumnsrrrúnot found in axisr) rÚnpÚrandomÚrandnÚpdÚ
date_rangeÚilocÚcopyrrr r!)r&r'r'r(Ú9test_drop_with_non_unique_datetime_index_and_invalid_keys5s ýr<c
@s,eZdZdd„Zdd„Zdd„Zdd„Zd    d
d gd    d
d ggZej     
d e ed d gde ed dgde ed dgd  dd    g¡e ed d gd  dd    g¡g¡dd„ƒZ ej     
dd    d
d gd    d    d
gg¡ej     
dgd    gd
gg¡dd„ƒƒZej     
dd    d
d gd    d
d
gg¡ej     
dd    dgddgg¡dd„ƒƒZej     
dgie g¡egddegƒegƒg¡dd„ƒZd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zej     
d.d/d0d1d2g¡ej     
d3d4d5g¡d6d7„ƒƒZd8d9„Zej     
d:d;d;gg¡d<d=„ƒZd>d?„Z d@dA„Z!dBdC„Z"dDdE„Z#ej     
dFd dgdfd gdGfg¡dHdI„ƒZ$dGS)JÚTestDataFrameDropc     Cs6tdddgdddgdddggdd    d
gd d d gd}d\|j_|j_| d    ¡}|jd dd}| ¡| ¡}}|jd    dd}|dks†t‚|jd ddd}|dks¢t‚||||fD]$}|jjdksÂt‚|jjdks®t‚q®t|jƒd d d gksìt‚d}tj    t
|d| dg¡W5QRXtj    t
|d|jdgddW5QRX|jdgdd}    t dd    d
gdd}
t   |    j|
¡|jd    dgdd}    t dd
gdd}
t   |    j|
¡|jdgddd}    t d d d gdd}
t   |    j|
¡|jd dgddd}    t d d gdd}
t   |    j|
¡|jgdd}    t dd    d
gdd}
t   |    j|
¡dS)Nr rrr    rrr r
r r/ÚdÚeÚf©rr3)ÚfirstÚsecond©ÚaxisT)Úinplace©rErFrBrCz\['g'\] not found in axisrÚgr*©r+©Úname©rEr+)rrrKr3r!r;ÚAssertionErrorÚlistrrr rr,Úassert_index_equal) Úselfr&Z df_dropped_bZ df_dropped_eZ df_inplace_bZ df_inplace_eÚ return_valueÚobjr"ZdroppedÚexpectedr'r'r(Útest_drop_namesFsJý
  z!TestDataFrameDrop.test_drop_namesc    Cs>tddddgddddgdœƒ}t |jddd|d    g¡t |jdd    gd
d|g¡t |jdddgdd|jdgdd…f¡t |jddgd d|jddgdd…f¡tjtd d | d¡W5QRXtjtdd |jdddW5QRXtjtd d | ddg¡W5QRXtjtdd |jddgddW5QRXtjtdd |jdddgddW5QRXt |jddd|¡t |jddgdd|jdddgdd…f¡t |jdddd|¡t |jddgddd|d    g¡ttt    t
dƒt
ddƒtdƒƒƒdddgd}t |jddd|dg¡t |jdd
d|d¡t | g¡|¡|  t dddgƒ¡}tdƒ|_ t |jddd|jdgdd…f¡t |jddgdd|jgdd…f¡ttj dd¡tdƒd}||jdk}|j||jdkjd d!}|dks.t‚t ||¡dS)"Nr rrr    r)ÚAÚBrUrDrVr3rz\[5\] not found in axisrrz\['C'\] not found in axisÚCz#\['C', 'D', 'F'\] not found in axisÚDÚFr*rIrLéýÿÿÿÚabcr
r ©r3ÚXÚYÚrowsrT)r#rF)rr,r-r!Úlocrrr rNÚzipÚrangeÚ    set_indexrr3r5r6r7r rrM)rPÚsimpleZnu_dfr&rSrQr'r'r(Ú    test_dropusR,,ÿÿÿ
&(zTestDataFrameDrop.test_dropc    CsÚtjdddgddgd}tddd    gg|d
}|j ¡s:t‚td ddd gdd ddgdddd    ggd}|jd ddgd d}| ¡}|j ¡rŒt‚t     ||¡|j
d dd}t  t ¡|j
d dd}W5QRXt     ||¡dS)N)r
Ú)Úb1Úc1)Úb2Úc2r r/rr rr    r\r
r>rgrhrirj)r3Údata)rr3ÚvaluesrD) rÚ from_tuplesrr3Z _is_lexsortedrMZ pivot_tableÚ reset_indexr,r-r!Úassert_produces_warningr)rPZ lexsorted_miZ lexsorted_dfZnot_lexsorted_dfrSÚresultr'r'r(Ú"test_drop_multiindex_not_lexsorted¨s,ÿ
ÿÿ  z4TestDataFrameDrop.test_drop_multiindex_not_lexsortedc    Cs†tdddgdddgdddggdd    d
gd d d gd}| d¡}|jdd}t ||¡|jd dd}|jd d}t ||¡|jd dd}|jd d}t ||¡|jdgdd}|jdgd}t ||¡|jdgddjd gdd}|jdgd gd}t ||¡d}tjt|d|jdd    dW5QRXtjt|d|jdd    dW5QRXd}tjt|d|jddW5QRXdS)Nr rrr    rrr r
r r/r>r?r@rArrDr\)r#rErz2Cannot specify both 'labels' and 'index'/'columns'r)r#r)r#r3z>Need to specify at least one of 'labels', 'index' or 'columns')rr!r,r-rrÚ
ValueError)rPr&Zres1Zres2r"r'r'r(Útest_drop_api_equivalenceÅs8ý
        z+TestDataFrameDrop.test_drop_api_equivalencer rrÚactualr
©rkrr rc    Cs¸t|jtƒrdnd}t d¡}tjt|d|jd|ddW5QRXtjt|d|j    jd|ddW5QRX|jdd|dd}t
  ||¡|j    jdd|dd}t
  |j    |¡dS)    Nrz"['c'] not found in axis"rr/©rrEr r*)rErr+) Ú
isinstancerrÚreÚescaperrr r!ÚTr,r-)rPrtrr"Zexpected_no_errr'r'r(Ú"test_raise_on_drop_duplicate_indexîs 
 z4TestDataFrameDrop.test_raise_on_drop_duplicate_indexrÚ drop_labelscs8‡fdd„|Dƒ}t|d ˆ¡}t |t|d¡dS)Ncsg|]}|ˆkr|‘qSr'r')Ú.0Úi©r|r'r(Ú
<listcomp>sz:TestDataFrameDrop.test_drop_empty_list.<locals>.<listcomp>r©rr!r,r-)rPrr|Zexpected_indexÚframer'rr(Útest_drop_empty_listsz&TestDataFrameDrop.test_drop_empty_listr    rc    Cs.tjtddt|d |¡W5QRXdS)Nr4rr)rrr rr!)rPrr|r'r'r(Útest_drop_non_empty_list sz*TestDataFrameDrop.test_drop_non_empty_listÚempty_listlikezdatetime64[ns]©ZdtypecCsPddgddgdœ}tdƒtdƒg}t||d}| ¡}| |¡}t ||¡dS)NrrÚoneÚtwo)Zcolumn_aZcolumn_bz
2021-01-01r)rrr;r!r,r-)rPr…rkrr&rSrpr'r'r(Ú2test_drop_empty_listlike_non_unique_datetime_indexs  
zDTestDataFrameDrop.test_drop_empty_listlike_non_unique_datetime_indexcCs:ddddddgddddddgdd    d
dddgg}tt|Žƒ}t |¡}ttj d d ¡|d }|jddd}|jdgdd}t     
||¡|jdgdd}|jdgdd}|jdgdd}t     
||¡|jddd}|jdgdd}t     
||¡|jdgdd}|jddd}|jdddd}|jddgdd}t     
||¡dS)Nr
ÚtopÚroutine1Úroutine2rfÚODÚresult1Zresult2ÚwxÚwyr    rr\r rD)r
rfrf)rŠrr)rŠrrrv)r‹rŽrf)rŒrŽrf) Úsortedrarrmrr5r6r7r!r,r-)rPZarraysZtuplesrr&rprSr'r'r(Útest_mixed_depth_drop)s2ý 
   ÿz'TestDataFrameDrop.test_mixed_depth_dropcCs’tddddgtjdddgddddgd    d
d d gd œƒ dddg¡ ¡}|jddd}td
d    gdgtjddtjdfgdddgdd}t     ||¡dS)Nr‡rˆçgð?g@r
r r/r rrr    ©rUrVrWrXrUrVrWrrX)r‡r“r rr2)
rr5ÚnanrcZ
sort_indexr!rrmr,r-©rPr&rprSr'r'r(Ú$test_drop_multiindex_other_level_nanJs(
 
 
üÿøÿ ÿýz6TestDataFrameDrop.test_drop_multiindex_other_level_nanc CsÚtddddgddddgdddd    gdddd
gd dd d gd dd d
gd dd dgddddgddd dgg    ddddgd}| d¡ ¡}|j|dk}| dddg¡}|j|jdd ¡}||j     |j¡ }|j|_t
  ||¡dS)Nzx-aÚxr
gø?g333333ó?zz-cÚzr/gÍÌÌÌÌÌ@gffffff@zx-br gffffff@gš™™™™™@zy-aÚyzz-bgÍÌÌÌÌÌ@Úvar1Zvar2Zvar3Zvar4r\r rr) rÚgroupbyÚsizer`rcr!rrnr›Úisinr,r-)rPr&Zgrp_sizeZdrop_idxZidfrprSr'r'r(Útest_drop_nonuniquebs(
 
 
 
 
 
 
 
 
÷
ôz%TestDataFrameDrop.test_drop_nonuniquecCsÜ|}|jddgdd}|jddddd    g}t ||¡|jd
gd d}|jddd d    d dg}t ||¡|jjddgddd}|jddddd    gj}t ||¡|jjd
gdd d}|jddd d    d dgj}t ||¡dS)NÚbarZquxrBrrr rrrrˆrCrr é    )rEr)r!r:r,r-rz)rPZ multiindex_dataframe_random_datar‚rprSr'r'r(Útest_drop_levels   z!TestDataFrameDrop.test_drop_levelcCs¤tdddddgdd}t ddd    d    d
g¡}tt d ¡ dd¡td ƒ|d }||d<|jddd}t    dƒ}|j
j dksxt ‚|j |dd}|j|dk}t ||¡dS)Nrrr    rÚidrJz2016-03-23 14:00z2016-03-23 15:00z2016-03-23 16:00z2016-03-23 17:00rÚabr2ZtstampT)ÚappendZ 201603231600Fr)rr8Ú to_datetimerr5ZarangeZreshaperNrcrrZ    is_uniquerMr!r`r,r-)rPÚidxZidxdtr&ÚtsrprSr'r'r(Ú"test_drop_level_nonunique_datetime’s"ûÿ     z4TestDataFrameDrop.test_drop_level_nonunique_datetimec
CsŠtddd}tddd}tj||dd}|dgt|ƒ|d}| |¡}td    dd}tj||dd}|dgt|ƒ|d}    t ||    ¡dS)
Nz
2017-10-29z Europe/Berlin)Útzz2017-10-29 04:00:00Z15min)r1r ruz2017-10-29 00:15:00)rr8r9Úlenr!r,Z assert_equal)
rPZframe_or_seriesÚstartÚendrrkrpZexpected_startZ expected_idxrSr'r'r(Ú'test_drop_tz_aware_timestamp_across_dst¨s  
 z9TestDataFrameDrop.test_drop_tz_aware_timestamp_across_dstcCsdtjddddddgddddddggddgd}ttj dd¡|d    }| d
g¡}|jjd ks`t    ‚dS) Nrr rrr‡rˆrrr)rr)r‡rˆ)
rrrr5r6r7r!rrrM)rPrr&rpr'r'r(Útest_drop_preserve_names´sÿ z*TestDataFrameDrop.test_drop_preserve_namesÚ    operationÚ__iadd__Ú__isub__Ú__imul__Ú__ipow__rFFTc    Cs†tdtdƒiƒ}| ¡}tdƒ|d<|d}t d¡F|rN|jdd|dn|jdd|d}t||ƒdƒt ||¡W5QRXdS)Nr˜rršr rG)rrbr;r,ror!Úgetattrr-)rPr°rFr&rSršr'r'r(Útest_inplace_drop_and_operation¾s  z1TestDataFrameDrop.test_inplace_drop_and_operationcCsdt dddgdddgg¡}tdddg|d}|jdd}tdgt dgdgg¡d}t ||¡dS)    Nr˜ršr~Újr rrr)rrrr!r,r-)rPr$r&rprSr'r'r(Ú$test_drop_with_non_unique_multiindexÓs
 z6TestDataFrameDrop.test_drop_with_non_unique_multiindexÚindexer©r
r
cCsjt ddgddgg¡}tdtt|ƒƒi|d}|jdgd}tdddgit ddg¡d}t ||¡dS)    Nr
r r˜rrºrr)r r
)    rÚ from_productrrbr«r!rmr,r-)rPr¹r§r&rprSr'r'r(Ú*test_drop_tuple_with_non_unique_multiindexÛs
ÿz<TestDataFrameDrop.test_drop_tuple_with_non_unique_multiindexcCs~tdddgdddgdddggdddgd}|jdgdd}tdgdgdggdgd}t ||¡|jddd}t ||¡dS)Nr rg@r r
r\rDrr–r'r'r(Ú test_drop_with_duplicate_columnsæsÿ z2TestDataFrameDrop.test_drop_with_duplicate_columnsc    Cs~ttj d¡tj d¡tj d¡dddddgdœƒ}|jdd    d    gd    d
}|jd dd    d d    gd    d
}|jd d    d
}t ||¡dS) Nrr
r r/r>r?r”rr rDrrW)rr5r6r7Ztaker!r,r-)rPr&rSZdf2rpr'r'r(Ú!test_drop_with_duplicate_columns2ðs
 
 
 üÿ    z3TestDataFrameDrop.test_drop_with_duplicate_columns2cCsftddddgiƒ}|j}|jdgdddt |jtgdd¡|| ¡8}t |jtgdd¡dS)    Nr
r rrTrGÚobjectr†)rr
r!r,rOr3rZmean)rPr&r
r'r'r(Ú.test_drop_inplace_no_leftover_column_references  z@TestDataFrameDrop.test_drop_inplace_no_leftover_column_referencec    CsHtt tdƒtdƒg¡d}tjtdd|jdddW5QRXdS)Nrrzlabels \[5\] not found in levelrrrr)rrr»rbrrr r!)rPr&r'r'r(Ú(test_drop_level_missing_label_multiindex    sz:TestDataFrameDrop.test_drop_level_missing_label_multiindexz
idx, levelNcCsdtdddtjgddœ|d |¡}|jtdtjgƒ|d}tdgddœ|d |¡}t ||¡dS)Nr réd)r
r r†r)rr8ZNArcr!rr,r-)rPZany_numeric_ea_dtyper§rr&rprSr'r'r(Útest_drop_index_ea_dtypesÿþ
ÿþz*TestDataFrameDrop.test_drop_index_ea_dtype)%Ú__name__Ú
__module__Ú __qualname__rTrerqrsrkrÚmarkÚ parametrizerrcr{rƒr„r5Úarrayrrrr‰r’r—rŸr¢r©r®r¯r¶r¸r¼r½r¾rÀrÁrÃr'r'r'r(r=Esj/3'üþ    
 
úþ
! 
 
ÿ 
 
 
    r=)rxÚnumpyr5rZ pandas.errorsrZpandasr8rrrrrrZpandas._testingZ_testingr,rÇrÈr)r.r<r=r'r'r'r(Ú<module>s"   þþ