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
U
­ý°dã@sŒddlZddlZddlZddlmZddlZddlmZm    Z    ddl
m Z dd„Z dd„Zdd    „Zd
d „Zd d „Zdd„Zdd„Zdd„ZdS)éN)ÚPerformanceWarning)ÚIndexÚ
MultiIndexc    CsX| ddg¡}t ddg¡}| |¡}|ddddg}t ||¡t ||¡| dg¡}|dddd    dg}t ||¡| d
¡}|ddd    dg}t ||¡t d g¡}tjtd d | d g¡W5QRXtjtd d | |¡W5QRXtjtdd | d
dg¡W5QRXt dd g¡}tjtd d | |¡W5QRX|j|dd}|ddddd    dg}t ||¡|j|dd}|dddddg}t ||¡|jd
dgdd}|ddd    dg}t ||¡| d
dg¡}|dddg}t ||¡d
ddg}tjtdd | |¡W5QRX|j|dd}|dddg}t ||¡dS)N)ÚfooÚtwo)ZquxÚoneréééÚbaréér)r rz^15$©Úmatchz^'two'$rÚignore)Úerrors)ÚdroprÚ from_tuplesÚtmÚassert_index_equalÚpytestÚraisesÚKeyError)ÚidxÚdroppedÚindexZdropped2ÚexpectedZ mixed_index©rú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/multi/test_drop.pyÚ    test_dropsP
 
 
rcCsÞ|| d¡}| d¡}|jdks&t‚tttdƒƒttdƒƒttdƒƒgt ddddddddg¡t ddddddddg¡t ddddddddg¡gdd    d
gd }| d¡}|j    d ks¸t‚| d    ¡}| d¡}| 
|¡sÚt‚dS) NrrÚsecondr r rr    rrÚthree©ÚlevelsÚcodesÚnames)rr!) Zget_locÚ    droplevelÚnameÚAssertionErrorrrÚrangeÚnpÚarrayr%Úequals)rrrrrrrÚtest_droplevel_with_namesJs 
 ýù    
 
 
r-cCsLtttdƒƒttdƒƒttdƒƒgt ddddddddg¡t ddddddddg¡t ddddddddg¡gdddgd    }|dd… ddg¡}|dd… d¡ d¡}| |¡s¶t‚|dd… g¡}|dd…}| |¡sât‚d
}tj    t
|d |dd… dddg¡W5QRXtj    t d d |dd… dd g¡W5QRXdS)Nr rr rr    rrr!r"zSCannot remove 3 levels from an index with 3 levels: at least one level must be leftrz'Level four not found'Zfour) rrr)r*r+r&r,r(rrÚ
ValueErrorr)rrrÚmsgrrrÚtest_droplevel_list`s( ýù
 ÿ"r0c    Cs¾dddg}tj|ddgd}| ¡s(t‚tjddddgd    d
d d gd    d ddggd}|jdddgdd}| ¡}|j}| ¡r€t‚t     
||¡t      t ¡t     
|  d¡|  d¡¡W5QRXdS)N)ÚaÚ)Úb1Úc1)Úb2Úc2ÚbÚc©r%r1Údr r3r4r    r5r6r )ÚcolumnsÚdata)rr;Úvalues)rrZ _is_lexsortedr(ÚpdZ    DataFrameZ pivot_tableZ reset_indexr;rrZassert_produces_warningrr)ZtuplesZ lexsorted_miZdfZnot_lexsorted_mirrrÚtest_drop_not_lexsorted~s
 
ÿ   r?c    CsNtjd|fgddgd}d}tjt|d|jt d¡ddW5QRXdS)    NZblahr'Údater9z@labels \[Timestamp\('2001-01-01 00:00:00'\)\] not found in levelrZ2001©Úlevel)rrrrrrr>Ú    Timestamp)Z nulls_fixtureÚmir/rrrÚtest_drop_with_nan_in_index•srEc    CsVt dddg¡}t ¡t dt¡| d¡}W5QRXt dg¡}t ||¡dS)N©r r)rr    r)    rrÚwarningsÚcatch_warningsÚ simplefilterrrrr)rDÚresultrrrrÚ'test_drop_with_non_monotonic_duplicatess 
  rKc    Cst dddg¡}d}tjt|d|jdddW5QRXtjt|d|jd    dgddW5QRXd
}tjt|d|jtjgddW5QRXtjt|d|jtjd    d d gddW5QRXt tjd    fdg¡}d }tjt|d|jtjd    dgddW5QRXdS)NrF)rr)r    rzlabels \[4\] not found in levelrr rrAr z!labels \[nan\] not found in levelrr    z!labels \['a'\] not found in levelr1)rrrrrrr*Únan)rDr/rrrÚ1test_single_level_drop_partially_missing_elements§s"rMcCs8tjdgdd}| g¡}tdgdd}t ||¡dS)N)r)r7r9rr7)r')rrr&rrr)rrJrrrrÚ#test_droplevel_multiindex_one_level¼s
rN)rGÚnumpyr*rZ pandas.errorsrZpandasr>rrZpandas._testingZ_testingrrr-r0r?rErKrMrNrrrrÚ<module>s  :