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
U
­ý°dT)ã@sddlZddlmZddlZejdd„ƒZejgdgddgdddggdd    d
„ƒZejd d „ƒZejd d„ƒZ    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„ZdS)9éN)Úarray_equivalentcCs$t dddgdddgddd    gd
œ¡S) z+DataFrame with columns 'L1', 'L2', and 'L3'éééé é é ÚAÚBÚC)ÚL1ÚL2ÚL3)ÚpdZ    DataFrame©rrúed:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/generic/test_label_or_level_utils.pyÚdf
srr r r)ÚparamscCs|j}|r| |¡}|S)z;DataFrame with columns or index levels 'L1', 'L2', and 'L3')ÚparamÚ    set_index)ÚrequestrÚlevelsrrrÚ    df_levelss
rcCs| ddg¡}|d|d<|S)z<DataFrame with levels 'L1' and 'L2' and labels 'L1' and 'L3'r r r)r©rrrrÚdf_ambigs rcCs&| dg¡}tj||dgdd}|S)z9DataFrame with level 'L1' and labels 'L2', 'L3', and 'L2'r r r©Úaxis)rrÚconcatrrrrÚ df_duplabels%s rcCs$t|jƒ}dd„|jjDƒ}||fS)NcSsg|]}|dk    r|‘qS)Nr)Ú.0ÚnamerrrÚ
<listcomp>2sz%get_labels_levels.<locals>.<listcomp>)ÚlistÚcolumnsÚindexÚnames)rÚexpected_labelsÚexpected_levelsrrrÚget_labels_levels0s
r(cCsD|D]:}|j||dst‚|j||dr,t‚|j||dst‚qdS©Nr)Ú_is_label_referenceÚAssertionErrorÚ_is_level_referenceÚ_is_label_or_level_reference)ÚframeÚlabelsrÚlabelrrrÚassert_label_reference6sr1cCsD|D]:}|j||dst‚|j||dr,t‚|j||dst‚qdSr))r,r+r*r-)r.rrÚlevelrrrÚassert_level_reference=sr3cCsD| |¡}t|ƒ\}}|dkr$|j}t|||dt|||ddS©Nrr)Ú_get_axis_numberr(ÚTr3r1©rrr&r'rrrÚ*test_is_level_or_label_reference_df_simpleFs 
 r8cCsL| |¡}|dkr|j}t|dg|dt|dg|dt|dg|ddS)Nrr rr r)r5r6r1r3©rrrrrÚ test_is_level_reference_df_ambigTs 
r:cCs^| d¡j}t|dgdd| d¡r*t‚| ddg¡j}t|ddgdd| d¡rZt‚dS©Nr rrr r)rr r3r,r+r©rÚsrrrÚ+test_is_level_reference_series_simple_axis0is  r>c    Cs8| d¡j}tjtdd|jdddW5QRXdS©Nr zNo axis named 1©Úmatchrr)rr ÚpytestÚraisesÚ
ValueErrorr,r<rrrÚ*test_is_level_reference_series_axis1_errorus rEc    Csn| |¡}|dkr|j}d}nd}tjt|d|jd|dW5QRX|jd|d|jd|drjt‚dS)    Nrz.'L1' is both a column level and an index labelz.'L1' is both an index level and a column labelr@r rr r)r5r6rBrCrDÚ_check_label_or_level_ambiguityr+)rrÚmsgrrrÚ&test_check_label_or_level_ambiguity_dfƒs
rHcCsf| d¡j}|jddd|jddd| ddg¡j}|jddd|jddd|jddddSr;)rr rFrr<rrrÚ*test_check_label_or_level_ambiguity_seriesšs rIc    Cs8| d¡j}tjtdd|jdddW5QRXdSr?)rr rBrCrDrFr<rrrÚ6test_check_label_or_level_ambiguity_series_axis1_error©s rJcCsT| |¡}|D]@}|dkr&||j}n |j|j}|j||d}t||ƒst‚qdS)Nrr)r5Ú_valuesÚlocÚ_get_label_or_level_valuesrr+)r.r/rr0ÚexpectedÚresultrrrÚassert_label_values³s
  rPcCs^| |¡}|D]J}|dkr,|jj|dj}n|jj|dj}|j||d}t||ƒst‚qdS)Nr)r2r)r5r$Zget_level_valuesrKr#rMrr+)r.rrr2rNrOrrrÚassert_level_values¿s
rQcCsDt|ƒ\}}| |¡}|dkr$|j}t|||dt|||ddSr4)r(r5r6rPrQr7rrrÚ(test_get_label_or_level_values_df_simpleÍs  
rRcCs<| |¡}|dkr|j}t|dg|dt|dg|ddS)Nrr rr)r5r6rQrPr9rrrÚ'test_get_label_or_level_values_df_ambigÛs
 
rSc    Csx| |¡}|dkr|j}t|dg|dt|dg|d|dkrFd}nd}tjt|dt|d    g|dW5QRXdS)
Nrr rrrz#The column label 'L2' is not uniquez"The index label 'L2' is not uniquer@r )r5r6rQrPrBrCrD)rrZ expected_msgrrrÚ+test_get_label_or_level_values_df_duplabelsès
rTcCsB| d¡j}t|dgdd| ddg¡j}t|ddgdddS)Nr rrr )rr rQrr<rrrÚ+test_get_label_or_level_values_series_axis0s rUc    Cs8| d¡j}tjtdd|jdddW5QRXdSr?)rr rBrCrDrMr<rrrÚ1test_get_label_or_level_values_series_axis1_error
s rVcCsh| |¡}|D]T}|j||d}|dkrF||jks6t‚||jksbt‚q||jksTt‚||jkst‚qdS©Nrr)r5Ú_drop_labels_or_levelsr#r+r$)r.r/rr0Ú
df_droppedrrrÚassert_labels_droppeds
rZcCsp| |¡}|D]\}|j||d}|dkrJ||jjks8t‚||jjksjt‚q||jjksZt‚||jjkst‚qdSrW)r5rXr$r%r+r#)r.rrr2rYrrrÚassert_levels_dropped!s
r[c    Cslt|ƒ\}}| |¡}|dkr$|j}t|||dt|||dtjtdd|jd|dW5QRXdS)Nrrúnot valid labels or levelsr@ÚL4)    r(r5r6rZr[rBrCrDrXr7rrrÚtest_drop_labels_or_levels_df0s 
r^c    Cs’| d¡j}t|dgddtjtdd|jdddW5QRX| ddg¡j}t|ddgddtjtdd|jdddW5QRXdS)Nr rrr\r@r]r )rr r[rBrCrDrXrr<rrrÚ!test_drop_labels_or_levels_seriesCs r_)rBZpandas.core.dtypes.missingrZpandasrZfixturerrrrr(r1r3r8r:r>rErHrIrJrPrQrRrSrTrUrVrZr[r^r_rrrrÚ<module>s>