zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°deã@s~ddlZddlZddlZddlmZmZmZmZm    Z    m
Z
ddl m Z ddlmZmZej dddg¡ej ddd    d
d g¡d d „ƒƒZej de    eje
eg¡dd„ƒZejjej de    eje
eg¡dd„ƒƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Z d#d$„Z!d%d&„Z"d'd(„Z#d)d*„Z$ej ddd    d
d g¡d+d,„ƒZ%d-d.„Z&d/d0„Z'd1d2„Z(ej d3e)dƒe)dƒg¡d4d5„ƒZ*d6d7„Z+d8d9„Z,d:d;„Z-d<d=„Z.d>d?„Z/d@dA„Z0ej dd    dd
d g¡dBdC„ƒZ1ej dDej2dEg¡dFdG„ƒZ3ej dDej2dHg¡dIdJ„ƒZ4ej dKdLgdLgfdLdLgdLgfdMdLgdMdLgfg¡dNdO„ƒZ5ej dPdQdddgfdQdRgddgfdQdSgddgfdTdUdVgddgfdTdSdRgddgfdWdRdSdUgddgfdTdRdUgdRdgfdTdUdSgddSgfdTdRdSgdRdSgfdTddSgddSgfg
¡dXdY„ƒZ6dZd[„Z7d\d]„Z8d^d_„Z9d`da„Z:ej dbdcddg¡ej deddfg¡dgdh„ƒƒZ;ej dDdidjg¡dkdl„ƒZ<ej dmdnej2g¡dodp„ƒZ=dqdr„Z>dsdt„Z?dudv„Z@ej dwdRdSdUgddxggdUdVdSgdxggddjdygdjdjdjggddjdygdddggdzd{gfg¡d|d}„ƒZAej dRejBdRdSgdRdSgd~dRdSgg¡ej dSejBdRdSgdSdRgdd€ejBdRdSgdSdRgd~g¡dd‚„ƒƒZCej dDej2dEg¡dƒd„„ƒZDd…d†„ZEdS)‡éN)ÚCategoricalIndexÚ    DataFrameÚIndexÚ IntervalIndexÚ
MultiIndexÚSeries)Úis_float_dtypeÚis_unsigned_integer_dtypeÚcasegà?ZxxxÚmethodÚ intersectionÚunionÚ
differenceÚsymmetric_differencec    Cs4d}tjt|dt||ƒ||dW5QRXdS)Nz!Input must be Index or array-like©Úmatch©Úsort)ÚpytestÚraisesÚ    TypeErrorÚgetattr)Úidxr
rr Úmsg©rú]d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/multi/test_setops.pyÚtest_set_ops_error_casessrÚklassc    Cs’|ddd…}|dd…}|tk    r,||jƒ}|j||d}|dkrL| ¡}n|}t ||¡d}tjt|d|jdddg|dW5QRXdS)    Nééÿÿÿÿérú.other must be a MultiIndex or a list of tuplesréé)    rÚvaluesr Ú sort_valuesÚtmÚassert_index_equalrrr)rrrÚfirstÚsecondZ    intersectÚexpectedrrrrÚtest_intersection_bases 
 
 r+c    Cs’|ddd…}|dd…}|tk    r,||jƒ}|j||d}|dkrL| ¡}n|}t ||¡d}tjt|d|jdddg|dW5QRXdS)    Nrr rr!rr"rr#)    rr$r r%r&r'rrr)rrrr(r)r r*rrrrÚtest_union_base3s 
 
 r,c    sÄ|dd…‰|dd…}|jˆ|d}|dkr6| ¡}| |¡sDt‚t ||¡‡fdd„tjtt    fDƒ}|D]}|j||d}t ||¡qnd}t
j t |d|jddd    g|dW5QRXdS)
Nércsg|]}|ˆjƒ‘qSr©r$©Ú.0r©r)rrÚ
<listcomp>Tsz(test_difference_base.<locals>.<listcomp>r!rr"rr#) rr%ÚequalsÚAssertionErrorr&r'ÚnpÚarrayrÚlistrrr)rrÚanswerÚresultÚcasesr
rrr1rÚtest_difference_baseHs   r;c    sÂ|dd…}|dd…‰|ddg}|jˆ|d}|dkrB| ¡}t ||¡‡fdd„tjttfDƒ}|D]}|j||d}t ||¡qld}tj    t
|d|jdd    d
g|dW5QRXdS) Nr"rrrcsg|]}|ˆjƒ‘qSrr.r/r1rrr2jsz-test_symmetric_difference.<locals>.<listcomp>r!rrr#) rr%r&r'r5r6rr7rrr)rrr(r8r9r:r
rrr1rÚtest_symmetric_difference^s    r<cCsjtjddgddggddgd}| |¡}|j|jks8t‚| ¡ ddg¡}| |¡}|jddgksft‚dS)NÚaÚbÚAÚB©Únames)rÚ from_productrrBr4ÚcopyÚrename)rr9Úidx2rrrÚ$test_multiindex_symmetric_differencets 
 
rGcCs |jr
t‚|dd…jst‚dS)Nr)Úemptyr4©rrrrÚ
test_emptys
rJc    Csl|}|j|dd…|d}|dd…j}|dkr8t|ƒ}tj|d|jd}t|tƒsXt‚| |¡sft‚|j|jksvt‚t     
||¡|j||d}|dd…}| |¡sªt‚|j|jksºt‚|dd…j||d}|dd…}| |¡sêt‚|j|jksút‚|dd…j||d}|dd…}| |¡s,t‚|j|jks>t‚|dd…}ddg|_|j||d}|jdksrt‚|j|  d¡d|d}t |ƒdksœt‚|j|j|d}| |dd…¡sÄt‚|jg|d}| |¡sât‚|j|jksôt‚|jd    g|d}t d
d d d dg¡}|j|_|j|jks2t‚d}t jt|d|jdddddg|dW5QRXdS)Néýÿÿÿrr)Z    sortorderrBÚfooÚbaz©NNr"©rLÚone)ÚbarrP)rMÚtwo)rLrR)ÚquxrP)rSrRr!rrr#r-r )rr$ÚsortedrÚ from_tuplesrBÚ
isinstancer4r3r&r'Z    sortlevelÚlenrrr)rrr(r9Úvalsr*ZchunkletrrrrÚtest_difference…sT     
 ÿrYcCs0t ddgddgg¡}| g¡}t ||¡dS)Nr"rr=r>©rrCrr&r'©rr9rrrÚtest_difference_sort_specialÆs
r\cCsJt ddgddgg¡}|jgdd}t ddgddgg¡}t ||¡dS©Nr"rr=r>TrrZ)rr9r*rrrÚ!test_difference_sort_special_trueÎsr^c    CsŽt dt d¡dgddgg¡}t dt d¡dgdd    gg¡}d
}tjt|d | |¡}W5QRXt ||¡|j|d d }t ||¡dS)Nr"Ú2000rr=r>r#r-ÚcÚdz0sort order is undefined for incomparable objectsrFr)    rrCÚpdÚ    Timestampr&Úassert_produces_warningÚRuntimeWarningrr')rÚotherrr9rrrÚ!test_difference_sort_incomparableÖs rgc    Cslt dt d¡dgddgg¡}t dt d¡dgdd    gg¡}d
}tjt|d |j|d d W5QRXdS)Nr"r_rr=r>r#r-r`razH'values' is not ordered, please explicitly specify the categories order rTr)rrCrbrcrrrr)rrfrrrrÚ&test_difference_sort_incomparable_trueæs
rhcCsà|dd…ddd…}|dd…}|j||d}|dkrHt || ¡¡t ||¡sXt‚|j||d}t ||¡|j|dd…|d}t ||¡|j}|dd…j|dd…|d}|dkrÎt ||¡n| |¡sÜt‚dS)Nr rr#rrr-)r r&r'r%Ú equalContentsr4r$r3)rrÚpiece1Úpiece2Z    the_unionÚtuplesr9rrrÚ
test_unionñs   rmc    Csjtdddgƒ}| |¡}d|ks$t‚d|ks0t‚d}tjt|d| |¡}W5QRX| |¡rft‚dS)Nr?r@ÚCrOz'The values in the array are unorderabler)rr r4r&rdrer3)rrfr9rZresult2rrrÚtest_union_with_regular_index s
  roc    CsØ|dd…ddd…}|dd…}|j||d}|dkrLt ||dd…¡t ||dd…¡sdt‚|j||d}t ||¡|dd…j|dd…|d}|dd…}| |¡s¶t‚|j}| |¡}| |¡sÔt‚dS)Nr rr#rrr)r r&r'rir4r3r$)    rrrjrkZthe_intrHr*rlr9rrrÚtest_intersections   
rpcCsš| ¡ d¡}dg|j}t||ƒ||d}t||ƒ||d |¡}t ||¡t||ƒ|dd…|d}t||ƒ|dd…|d |¡}t ||¡dS)NÚcategoryrr )Z to_flat_indexÚastypeÚnlevelsrrEr&r')rrr rfZ    res_namesr9r*rrrÚtest_setop_with_categorical2s   rtc    CsÂttdƒdd}|j||d}t|jgg|jdd}tj||dd|jt     |¡dd…|d}t|jgg|j|j
d}tj||ddd    }t j t |d
|jt     |¡|dW5QRXdS) Nr#rL)Únamer©ÚlevelsÚcodesrBT)Úexactrr!r)rÚranger rrwrsr&r'r5ZasarrayrBrrr)rrrfr9r*rrrrÚtest_intersection_non_objectBsr{cCsFt ddgddgg¡}t |j|dd|¡t |j|dd|¡dS©Nr"rr=r>Fr)rrCr&r'r rIrrrÚtest_intersect_equal_sortTsr}cCsJt ddgddgg¡}t ddgddgg¡}|j|dd}t ||¡dSr])rrCr r&r')rr*r9rrrÚtest_intersect_equal_sort_true[sr~Úslice_cCs\t ddgddgg¡}||}t | |¡|¡t | |¡|¡t |j|dd|¡dSr|)rrCr&r'r )rrrfrrrÚtest_union_sort_other_emptybs
r€cCsVt ddgddgg¡}|dd…}|j|dd}t ddgddgg¡}t ||¡dSr])rrCr r&r')rrfr9r*rrrÚ test_union_sort_other_empty_sortps
 rc    Csvt dt d¡gddgg¡}t t¡| |dd…¡}W5QRXt ||¡|j|dd…dd}t ||¡dS)Nr"r_r=r>Fr)    rrCrbrcr&rdrer r'r[rrrÚ"test_union_sort_other_incomparablezs   r‚c    CsTt dt d¡gddgg¡}d}tjt|d|j|dd…ddW5QRXdS)    Nr"r_r=r>z<'<' not supported between instances of 'Timestamp' and 'int'rTr)rrCrbrcrrrr )rrrrrÚ'test_union_sort_other_incomparable_sortˆsrƒc    CsLt ddgddgg¡}|jd}d}tjt|d| |¡W5QRXdS)Nr=r>r"rz<Can only union MultiIndex with MultiIndex or Index of tuplesr)rrCrwrrÚNotImplementedErrorr )ÚmirrrrrÚ"test_union_non_object_dtype_raisess
 
r†cCsZt gg¡}tjddgddggddgd}| |¡}t ddgddgg¡}t ||¡dS)Nr"rr#r-r=r>rA©rÚ from_arraysr r&r')r…Úmi2r9r*rrrÚ%test_union_empty_self_different_namesšs
 
rŠcCs`tjddgddggddgd}t d¡}| |¡}tj||d    d
| |¡}tj||d    d
dS) Nr"rr#r-r=r>rArF)Z check_names)rrˆrbZ
RangeIndexr r&r')r…ÚriZ result_leftZ result_rightrrrÚ&test_union_multiindex_empty_rangeindex£s 
 
 
rŒc    Csnt ddgddgg¡}t ddgddgg¡}tjtddt||ƒ|ddW5QRXt||ƒ|d    ddS)
Nr=r>r"rr`zThe 'sort' keyword only takesrrT)rrCrrÚ
ValueErrorr)r Zidx1rFrrrÚtest_setops_sort_validation¯s
rŽÚvalédcCsÂtjtddg|dddggddgd}t tdd|g|ddddgg¡}| |¡}t tdg|ddgg¡}t ||¡| |jdd¡}tjtg|dtgtjdgddgd}t ||¡dS)    Nr"r©Údtyper=rAr#F)Z    ascending)    rrˆrrr&r'r%r5Úint64©Úany_numeric_ea_dtyperÚmidxÚmidx2r9r*rrrÚtest_difference_keep_ea_dtypes½s ÿÿ
 þr˜r cCs„tjtddg|dddggddgd}t tdd|g|ddddgg¡}| |¡}t tdd|g|ddddgg¡}t ||¡dS©Nr"rr‘r=rAr#)rrˆrrr&r'r”rrrÚ*test_symmetric_difference_keeping_ea_dtypeÒsÿÿ
ÿrš)rlÚ
exp_tuples©Zval1Ztest1©Zval2Ztest2cCsVtj|ddgd}tjdddgddgd}| |¡}tj|ddgd}t ||¡dS)Nr(r)rArœr)rrUr r&r')rlr›ÚleftÚrightr9r*rrrÚtest_intersect_with_duplicatesâs þ
r zdata, names, expected©r"r=r>)r"rr`ra)r"rr#cCs<tjgddgd}tj|g|d}| |¡}||ks8t‚dS)Nr=r>rA)rrUZ_maybe_match_namesr4)ÚdatarBr*r…r‰r9rrrÚtest_maybe_match_namesùs
r£cCsttjddgddggddgd}tjddgddggddgd}| |¡}tjddgddggddgd}t ||¡dS)    Nr"rr#r-r`r>rAr=©rrˆr r&r')Úmi1r‰r9r*rrrÚ'test_intersection_equal_different_namess
 
r¦cCsFtjdgdggddgd}t dgdgg¡}| |¡}t ||¡dS)Nr"r#r`r>rAr¤)r…r‰r9rrrÚ!test_intersection_different_namess
r§cCsht d|d|gddddgg¡}t d|dgdddgg¡}| |¡}t d|gddgg¡}t ||¡dS)Nr#r-r"rr¤©Z nulls_fixturer¥r‰r9r*rrrÚ3test_intersection_with_missing_values_on_both_sides"s
 
r©cCsNt d|gg¡}t d|dgg¡}| |¡}t dd|gg¡}t ||¡dS)Nr"r#r‡r¨rrrÚ,test_union_with_missing_values_on_both_sides+s
 
rªr’Úfloat64ZFloat64rFcCsšt tjdtjg|dddgg¡}t tjdtjdg|ddddgg¡}|j||d}|dkr†t tjddtjg|ddddgg¡}n|}t ||¡dS)Nçð?r‘rr#g@r-r)    rrˆrbr6r5Únanr r&r')r’rr¥r‰r9r*rrrÚtest_union_nan_got_duplicated4s"&ÿr®r-r"cCs°t|dg|d}tddg|d}tj|ddggddgd}t |ddgg¡}| |¡}|dkr‚t tdddg|ddddgg¡}nt tddg|dddgg¡}t ||¡dS)Nrr‘r"r=rAr-©rrrˆr r&r')r•rÚarr1Úarr2r–r—r9r*rrrÚtest_union_keep_ea_dtypeDs
ÿÿr²Údupe_valr#cCsœt td|dg|dtd|dg|dg¡}t td||g|dtd||g|dg¡}| |¡}t tdd||g|dtdd||g|dg¡}t ||¡dS)Nr"rr‘)rrˆrr r&r')r³r•r¥r‰r9r*rrrÚ(test_union_with_duplicates_keep_ea_dtypeXs"þÿþÿ
þÿr´cCs|jst|ttfƒrdS| ¡j ¡}t |dgt    |ƒg¡}t |dg|dgt    |ƒdg¡}| 
|¡}|  ¡}t   ||¡t|jdƒrÆ| d¡dk ¡rÆ| |jd tj¡|jdg¡}n.t|jdƒrô| |jd t¡|jdg¡}| 
|¡}t   ||¡dS)Nr"rl)rHrVrrÚuniquer$ÚtolistrrˆrWr r%r&r'r    rwZget_level_valuesÚallZ
set_levelsrrr5r“rÚfloat)ÚindexÚrequestr$r¥r‰r9r*rrrÚtest_union_duplicatesqs*&
  ÿþÿÿ
r»cCsœtdddg|d}tddg|d}tj|dddggddgd}tj|ddggddgd}| |¡}tjtdddg|ddddggddgd}t ||¡dS)Nr-r"r‘rr=rAr¯)Zany_real_numeric_dtyper°r±r–r—r9r*rrrÚtest_union_keep_dtype_precision”s
þr¼cCs”tdtjg|d}tdtjg|d}tj|ddggddgd}t |ddgg¡}| |¡}t tddtjtjg|dddddgg¡}t ||¡dS)Nr-r‘r"rr=rA)rrbÚNArrˆr r&r')r•r°r±r–r—r9r*rrrÚ test_union_keep_ea_dtype_with_na£s
"ÿr¾z'levels1, levels2, codes1, codes2, namesÚrZname1Zname2cCs8t|||d}t|||d}| |¡}|jdks4t‚dS)Nrvr)rr Z_lexsort_depthr4)Zlevels1Zlevels2Zcodes1Zcodes2rBr¥r‰Zmi_intrrrÚtest_intersection_lexsort_depth°s
rÀ)Ú
categoriesT)rÁZorderedc
Csîddg}t||dœƒ}t||dœƒ}tj||gddgd}t |¡ t | ddg¡¡¡}t |¡ t |¡¡}t | ddg¡¡ t |¡¡}t | ddg¡¡ t | ddg¡¡¡}    t ||¡t ||¡t ||¡t |    |¡dS)NÚ1Ú2)ÚxÚyrÄrÅrA)rrrˆZ
from_framer r%r&r')
r=r>rfZdf1Zdf2r*Zres1Zres2Zres3Zres4rrrÚ0test_intersection_with_non_lex_sorted_categoriesÄs$ 
ÿÿÿ   rÆcCs|tjtddg|dddggddgd}t tdd|g|ddddgg¡}| |¡}t tdg|ddgg¡}t ||¡dSr™)rrˆrr r&r')rr•r–r—r9r*rrrÚ test_intersection_keep_ea_dtypesésÿÿ
rÇcCsbtdt d¡d}tdt d¡d}t||gƒ}ttjtjfddgdtjd    giƒ}t ||¡dS)
Nr¡)rN)r¹)é
é)rN©r=r>r¬g$@rÊg4@)rrrUrr5r­r&Zassert_frame_equal)Zseries1Zseries2r9r*rrrÚ.test_union_with_na_when_constructing_dataframe÷s
 "rË)FÚnumpyr5rZpandasrbrrrrrrZpandas._testingZ_testingr&Zpandas.api.typesrr    ÚmarkZ parametrizerr6r7r+Zarm_slowr,r;r<rGrJrYr\r^rgrhrmrorprtr{r}r~Úslicer€rr‚rƒr†rŠrŒrŽr½r˜ršr r£r¦r§r©rªr®r²r´r»r¼r¾rÀZ CategoricalrÆrÇrËrrrrÚ<module>sê  
ÿ 
  A 
ÿ
 
 
      
ÿ
 
 
 
 þýþ
 öþ
 
         
 
# ûÿþ
þþþ