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
U
®ý°dÁ%ã    @shddlZddlZddlmZmZmZmZmZm    Z    m
Z
ddl m Z dd„Zdd„Zdd„Zej d    d
d g¡d d „ƒZdd„Zdd„Zdd„Zdd„Zdd„Zej ddd
g¡dd„ƒZdd„Zej ddd ejejfe    e    feje    fg¡d!d"„ƒZd#d$„Zej d    d
dg¡d%d&„ƒZd'd(„Zd)d*„Z d+d,„Z!d-d.„Z"d/d0„Z#ej d1dd
g¡ej d2dd
g¡d3d4„ƒƒZ$dS)5éN)ÚNAÚ CategoricalÚCategoricalIndexÚIndexÚ
MultiIndexÚNaTÚ
RangeIndexc    CsRd}tdddgƒ}t ddddg¡}tjt|d    tj||d
d W5QRXdS) NzáIndex are different
 
Index levels are different
\[left\]:  1, Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: 2, MultiIndex\(\[\('A', 1\),
            \('A', 2\),
            \('B', 3\),
            \('B', 4\)\],
           \)ééé©ÚAr    ©r r
©ÚBr ©ré©ÚmatchF©Úexact)rrÚ from_tuplesÚpytestÚraisesÚAssertionErrorÚtmÚassert_index_equal©ÚmsgÚidx1Úidx2©r!ú`d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/util/test_assert_index_equal.pyÚ test_index_equal_levels_mismatchs
 
r#c    CsVd}t ddddg¡}t ddddg¡}tjt|dtj|||dW5QRXdS)NúÁMultiIndex level \[1\] are different
 
MultiIndex level \[1\] values are different \(25\.0 %\)
\[left\]:  Index\(\[2, 2, 3, 4\], dtype='int64'\)
\[right\]: Index\(\[1, 2, 3, 4\], dtype='int64'\)rrrr r©Ú check_exact©rrrrrrr©r&rrr r!r!r"Ú test_index_equal_values_mismatch"s
r)c    CsPd}tdddgƒ}tddddgƒ}tjt|dtj|||dW5QRXdS)Nz–Index are different
 
Index length are different
\[left\]:  3, Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: 4, Index\(\[1, 2, 3, 4\], dtype='int64'\)r    r
r rrr%©rrrrrrr(r!r!r"Ú test_index_equal_length_mismatch0s
r+rFÚequivcCs*tdddgƒ}tdƒ}tj|||ddS)Nrr    r
r r)rrrr)rrr r!r!r"Útest_index_equal_class>sr-c    CsVd}tdddgƒ}tdddgtjd}tjt|dtj||d|dW5QRXdS)    NzcIndex are different
 
Attribute "inferred_type" are different
\[left\]:  integer
\[right\]: floatingr    r
r ©ZdtyperT©rr&)rÚnpÚfloat64rrrrrr(r!r!r"Ú)test_int_float_index_equal_class_mismatchFs
r2c    CsNd}tdddgƒ}ttdƒƒ}tjt|dtj||d|dW5QRXdS)NzkIndex are different
 
Index classes are different
\[left\]:  Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: r    r
r rTr/)rrÚrangerrrrrr(r!r!r"Ú%test_range_index_equal_class_mismatchTs
 r4c    Csdtdddgƒ}tdddgƒ}|rPd}tjt|dtj|||dW5QRXntj|||ddS)Nr    r
ç@gœo@zµIndex are different
 
Index values are different \(33\.33333 %\)
\[left\]:  Index\(\[1.0, 2.0, 3.0], dtype='float64'\)
\[right\]: Index\(\[1.0, 2.0, 3.0000000001\], dtype='float64'\)rr%r*)r&rr rr!r!r"Útest_index_equal_values_closebsr6c    Csvtdddgƒ}tdddgƒ}||dœ}|s2|dkrbd}tjt|dtj||f|ŽW5QRXntj||f|ŽdS)    Nr    r
r5g9ÖÅm4@©r&Úrtolgü©ñÒMb@?z¯Index are different
 
Index values are different \(33\.33333 %\)
\[left\]:  Index\(\[1.0, 2.0, 3.0], dtype='float64'\)
\[right\]: Index\(\[1.0, 2.0, 3.0001\], dtype='float64'\)rr*©r&r8rr Úkwargsrr!r!r"Ú"test_index_equal_values_less_closess
 r;c    CsXtdddgƒ}tdddgƒ}||dœ}d}tjt|dtj||f|ŽW5QRXdS)Nr    r
r rr7zIndex are different
 
Index values are different \(33\.33333 %\)
\[left\]:  Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: Index\(\[1, 2, 4\], dtype='int64'\)rr*r9r!r!r"Útest_index_equal_values_too_far…s 
r<Ú check_orderTc    Csltdddgƒ}tdddgƒ}d}|rTtjt|dtj||||ddW5QRXntj||||dddS)    Nr    r
r zIndex are different
 
Index values are different \(66\.66667 %\)
\[left\]:  Index\(\[1, 2, 3\], dtype='int64'\)
\[right\]: Index\(\[3, 2, 1\], dtype='int64'\)rT)r&r8r=Fr*)r&r8r=rr rr!r!r"Ú$test_index_equal_value_oder_mismatch”s&ÿÿr>c    Cs`t ddddg¡}t ddddg¡}||dœ}d}tjt|dtj||f|ŽW5QRXdS)Nrrrr r7r$rr'r9r!r!r"Ú&test_index_equal_level_values_mismatchªs 
r?z name1,name2)NÚx)r@r@c    Csžtdddg|d}tdddg|d}||ks4||krBt ||¡nX|dkrNdn|}|dkr^dn|}d|›d|›d    }tjt|d
t ||¡W5QRXdS) Nr    r
r ©Únamer@z'x'zBIndex are different
 
Attribute "names" are different
\[left\]:  \[z\]
\[right\]: \[z\]r)rrrrrr)Zname1Zname2rr rr!r!r"Útest_index_equal_names¹sýürCc    Csrd}ttddgƒƒ}ttddgdddgdƒ}|r^tjt|dtj|||dW5QRXntj|||ddS)NzÅIndex are different
 
Attribute "dtype" are different
\[left\]:  CategoricalDtype\(categories=\['a', 'b'\], ordered=False\)
\[right\]: CategoricalDtype\(categories=\['a', 'b', 'c'\], ordered=False\)ÚaÚbÚc)Ú
categoriesr)Úcheck_categorical)rrrrrrr)rHrrr r!r!r"Ú"test_index_equal_category_mismatchÐsrIc    Csld}ttdƒƒ}tttdƒƒƒ}|rV|rVtjt|dtj||dddW5QRXntj||||ddS)Nz¦Index are different
 
Index classes are different
\[left\]:  RangeIndex\(start=0, stop=10, step=1\)
\[right\]: Index\(\[0, 1, 2, 3, 4, 5, 6, 7, 8, 9\], dtype='int64'\)é
rT)rHr)    rrÚlistr3rrrrr)rHrrZrcatZicatr!r!r"Ú!test_index_equal_range_categoriesâs ÿrLc    CsLd}ttt d¡gƒ}tttgƒ}tjt|dt     ||¡W5QRXdS)NzaIndex are different
 
Attribute "inferred_type" are different
\[left\]:  mixed
\[right\]: datetimeZnatr)
rrr0Z
datetime64rrrrrrrr!r!r"Ú0test_assert_index_equal_different_inferred_typesøs
 rMc    CsPtddgdd}tddgdd}tjtddtj||dd    d
W5QRXdS) Nr    r rDrArEz"names" are differentrFT)r=Ú check_namesr*©rr r!r!r"Ú9test_assert_index_equal_different_names_check_order_falsesrPcCs"tdddgƒ}tj||dddS)NZfooÚbaré*F©r=©rrr)Úidxr!r!r"Ú#test_assert_index_equal_mixed_dtypesrVcCs4tddg|d}tddg|d}tj||dddS)Nr    r r.FrSrT)Zany_numeric_ea_dtyperr r!r!r"Ú,test_assert_index_equal_ea_dtype_order_falsesrWcCs4tddgdd}tddgdd}tj||dddS)Nr    r Úobjectr.FrSrTrOr!r!r"Ú/test_assert_index_equal_object_ints_order_falsesrYrHrNc    CsPtddgdd}tdtgdd}tjtddtj||||dW5QRXdS)Nr    r
ZInt64r.z50.0 %r)rNrH)rrrrrrr)rNrHrr r!r!r"Ú*test_assert_ea_index_equal_non_matching_na#sÿrZ)%Únumpyr0rZpandasrrrrrrrZpandas._testingZ_testingrr#r)r+ÚmarkZ parametrizer-r2r4r6r;r<r>r?ÚnanrCrIrLrMrPrVrWrYrZr!r!r!r"Ú<module>s@$     
 
þ