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
U
­ý°dAã@s®ddlZddlZddlZddlmZmZddlmZ    dd„Z
dd„Z dd„Z d    d
„Z d d „Zd d„Zdd„Zej ddgdgggggg¡dd„ƒZdd„Zdd„Zdd„ZdS)éN)ÚIndexÚ
MultiIndexcCs´| t|dd…ƒ¡\}}t|tƒs(t‚|jddgks:t‚dd„|jDƒddgksVt‚| t|ƒ¡\}}t|tƒsvt‚|dks‚t‚|jddgks”t‚dd„|jDƒddgks°t‚dS)NéÚfirstÚsecondcSsg|]
}|j‘qS©©Úname©Ú.0Úlevelrrú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/multi/test_reindex.pyÚ
<listcomp>sz test_reindex.<locals>.<listcomp>cSsg|]
}|j‘qSrrr
rrr rs)ÚreindexÚlistÚ
isinstancerÚAssertionErrorÚnamesÚlevels)ÚidxÚresultÚindexerrrr Ú test_reindex s rc
    CsÞtdgƒ}|j|dd\}}|j|dd\}}|j|ddd}|j|ddd}| |¡s\t‚t ddd    g¡}tj||d
d | |¡sŠt‚t dd dd dd g¡}    tj||    d
d t    j
t d d|j|dddW5QRXdS)NZoner©r Úright)r ÚhowÚleftrérF)Z check_dtypeéÿÿÿÿzFill method not supported©ÚmatchÚpad)Úmethodr ) rrÚjoinÚequalsrÚnpÚarrayÚtmÚassert_numpy_array_equalÚpytestÚraisesÚ    TypeError)
rÚindexÚtargetrZtarget2Zindexer2Z    exp_indexZ
exp_index2Z exp_indexerZ exp_indexer2rrr Útest_reindex_levels
r.cCsÄ| ¡}| ¡}ddg|_|_t ddgddgg¡}| g¡djddgksRt‚| t g¡¡djddgkstt‚| | ¡¡djddgks”t‚| |j    ¡djddgks²t‚| | ¡¡djddgksÒt‚| |j    ¡djddgksðt‚ddg|_| g¡djddgkst‚| t g¡¡djddgks<t‚| | ¡¡djddgks^t‚| |j    ¡djddgks~t‚| | ¡¡djddgks t‚| |j    ¡djddgksÀt‚dS)NérérrÚfooÚbar)
ÚcopyrrÚ from_productrrr%r&ÚtolistÚvalues)rr-Z other_dtyperrr Ú;test_reindex_preserves_names_when_target_is_list_or_ndarray.s""  
$" "r7cCsbtjddgddggddgd}|jgdddjddgks>t‚|jgdddjddgks^t‚dS)    Nrr/ÚaÚbr1r2)rr)rr4rrr)rrrr Ú=test_reindex_lvl_preserves_names_when_target_is_list_or_arrayGs r:cCsÚt ddgddgg¡}|jgdddjdjjtjks<t‚|jgdddjdjjtj    ksbt‚t
  ddg¡}t
j dd    d
d }t ||g¡}|jgdddjdj|jks²t‚|jgdddjdj|jksÖt‚dS) Nrr/r8r9rr1r2z
2016-01-01rz
US/Pacific)ZperiodsÚtz) rr4rrÚdtypeÚtyper%Úint64rZobject_ÚpdZ CategoricalZ
date_range)rÚcatZdtiÚmirrr Ú@test_reindex_lvl_preserves_type_if_target_is_empty_list_or_arrayNs&&$rBc    CsTtj|jtjd}| |¡}t ||¡tjt    dd|j|ddW5QRXdS)N©r<zInvalid fill methodrÚinvalid)r")
r%ÚarangeÚsizeÚintpZ get_indexerr'r(r)r*Ú
ValueError)rÚexpectedÚactualrrr Útest_reindex_base\s
 
 rKc    Csbt ddddg¡}tjt d¡|d}t dddg¡}d}tjt|d|     |¡W5QRXdS)N)rr)r/r/)rrr©r,z'cannot handle a non-unique multi-index!r)
rÚ from_tuplesr?ÚSeriesr%rEr)r*rHr)rr8Únew_idxÚmsgrrr Útest_reindex_non_uniquefs rQr6r8ÚxcCsjt |¡}|jt dg¡dd\}}tdg|dggggd}tjg|jd}t ||¡t ||¡dS)Nr9rrr/)rÚcodesrC)    rZ from_arraysrr%r&r<r'Úassert_index_equalr()r6rrZresult_indexerrIZexpected_indexerrrr Útest_reindex_empty_with_levelps 
 rUcCshddddg}t |dd…¡}t|ƒ}| |¡\}}t ||¡tjddddgtjd    }t     ||¡dS)
N)ÚirV)rVÚj)rWrVrWrrr/rrC)
rrMrrr'rTr%r&rGr()ÚkeysrArÚresrrIrrr Útest_reindex_not_all_tuples{s  rZc Csnt dddg¡}tjdddg|d}t ddddd    d
d d d g    ¡}tjtdd|j|dddW5QRXdS)N)r0ÚA)rr[)rÚBg{®Gáz”?g{®Gáz„?gú~j¼t“ˆ?rL)r0r\)rÚC)ér\)r^r])ér\)r_r]zFlimit argument only valid if doing pad, backfill or nearest reindexingrrr/)Z
fill_valueÚlimit)rrMr?rNr)r*rHr)rZdfrOrrr Ú&test_reindex_limit_arg_with_multiindex†s&÷ÿþracCs^t ddg¡}t ddg¡}tjddg|d}tjddg|d}| |¡}|}t ||¡dS)N))r8Nr/))r9Nrr/rrL)rrMr?Z    DataFrameZ reindex_liker'Zassert_frame_equal)r,Úindex2Z    df1_dtypeZ    df2_dtyperrIrrr Ú+test_reindex_with_none_in_nested_multiindex¢s
rc)Únumpyr%r)Zpandasr?rrZpandas._testingZ_testingr'rr.r7r:rBrKrQÚmarkZ parametrizerUrZrarcrrrr Ú<module>s