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
Ë
oñúhíã    ó(—ddlZddlZddlmZddlmZejd„«Z    ejd„«Z
ejgdgddgg¬«d„«Z ejgdgddgg¬«d    „«Z dd
„Z ejjd dgdfdgd fddgd fddgdfg«d„«Zejjddgdgdfdgdgd fddgddgd fddgddgdfg«d„«Zejjddddgg«d„«Zy)éN)Ú    DataFramec    óR—tgd¢gd¢tjddd«dœ«S)N) érrérrrérér) rrrrrrrrrrrrré )ÚouterÚinnerÚv1©rÚnpÚlinspace©óúhH:\Change_password\venv_build\Lib\site-packages\pandas/tests/reshape/merge/test_merge_index_as_string.pyÚdf1rs*€ä â6Ú6Ü—+‘+˜a  BÓ'ñ    
ó ðrc    óR—tgd¢gd¢tjddd«dœ«S)N) rrrrrrrrrrrr) rrrrrrrrrrrré
r    é )r
r Úv2r rrrÚdf2rs*€ä â9Ú9Ü—+‘+˜b " bÓ)ñ    
ó ðrr
r )ÚparamscóD—|j}|r|j|«}|S)z`Construct left test DataFrame with specified levels
    (any of 'outer', 'inner', and 'v1')
    ©ÚparamÚ    set_index)ÚrequestrÚlevelss   rÚleft_dfr s#€ð
]‰]€F٠؏m‰m˜FÓ#ˆà €JrcóD—|j}|r|j|«}|S)zaConstruct right test DataFrame with specified levels
    (any of 'outer', 'inner', and 'v2')
    r)rrrs   rÚright_dfr"*s#€ð
]‰]€Fá Øm‰m˜FÓ#ˆà €Jrcó¶—|||}}|jjDcgc]}|€Œ|‘Œ    }}|jjDcgc]}|€Œ|‘Œ    }}|D    cgc]}    |    |vsŒ|    |vsŒ |    ‘Œ}
}    |Dcgc]    }||vsŒ|‘Œ } }| r|j| d¬«}|Dcgc]    }||vsŒ|‘Œ } }| r|j| d¬«}|Dcgc]    }||vsŒ|‘Œ } }| r|j| ¬«}|Dcgc]    }||vsŒ|‘Œ }}|r|j|¬«}|j||||¬«}|
r|j    |
«}|Scc}wcc}wcc}    wcc}wcc}wcc}wcc}w)a¿
    Compute the expected merge result for the test case.
 
    This method computes the expected result of merging two DataFrames on
    a combination of their columns and index levels. It does so by
    explicitly dropping/resetting their named index levels, performing a
    merge on their columns, and then finally restoring the appropriate
    index in the result.
 
    Parameters
    ----------
    df_left : DataFrame
        The left DataFrame (may have zero or more named index levels)
    df_right : DataFrame
        The right DataFrame (may have zero or more named index levels)
    on : list of str
        The on parameter to the merge operation
    left_on : list of str
        The left_on parameter to the merge operation
    right_on : list of str
        The right_on parameter to the merge operation
    how : str
        The how parameter to the merge operation
 
    Returns
    -------
    DataFrame
        The expected merge result
    T)Údrop)Úlevel©Úleft_onÚright_onÚhow)ÚindexÚnamesÚ reset_indexÚmerger)Údf_leftÚdf_rightÚonr'r(r)ÚnÚ left_levelsÚ right_levelsÚiÚ output_levelsÚ    drop_leftÚ
drop_rightÚ
reset_leftÚ reset_rightÚexpecteds                rÚcompute_expectedr;7s•€ð>
€~Ø ˆð&Ÿm™m×1Ñ1ÖC˜°Q±]’1ÐC€KÐCØ'Ÿ~™~×3Ñ3ÖE˜!°q±}’AÐE€LÐEð!(ÖR˜1¨1° Ò+<ÀÀkÒAQ’QÐR€MÐRð(Ö<q¨1°GÒ+;’Ð<€IÐ<ÙØ×%Ñ% i°dÐ%Ó;ˆà)Ö?˜¨Q°hÒ->’!Ð?€JÐ?ÙØ×'Ñ'¨
¸Ð'Ó>ˆð)Ö9˜¨A°ªL’!Ð9€JÐ9ÙØ×%Ñ%¨JÐ%Ó7ˆà*Ö<˜¨a°8ªm’1Ð<€KÐ<ÙØ×'Ñ'¨kÐ'Ó:ˆð}‰}˜X¨wÀÈsˆ}ÓS€HñØ×%Ñ% mÓ4ˆà €Oùò?DùÚEùòSùò=ùò@ùò
:ùò=sXŸD8§D8ÁD=Á D=Á    EÁ!EÁ&EÁ0    EÁ:E    E Â#E à   Eà EÃ*    EÃ4Ezon,howÚleftÚrightcóz—t||||¬«}|j|||¬«}tj||d¬«y)N)r0r)T©Ú
check_like©r;r-ÚtmÚassert_frame_equal)r r"r0r)r:Úresults      rÚ!test_merge_indexes_and_columns_onrE|s<€ô  ¨°b¸cÔB€Hð]‰]˜8¨°ˆ]Ó 4€FÜ×ј& (°tÖ<rzleft_on,right_on,howcó~—t|||||¬«}|j||||¬«}tj||d¬«y)Nr&Tr?rA)r r"r'r(r)r:rDs       rÚ-test_merge_indexes_and_columns_lefton_rightonrGŽsC€ô Ø 7°XÀ3ô€Hð
]‰]˜8¨W¸xÈSˆ]Ó Q€FÜ×ј& (°tÖ<rÚ
left_indexcó—|j|«}|jddg«}|j«j|ddg|dd¬«j|«}|j|ddg|dd¬«}tj||d¬«y)Nr
r Ú_xÚ_y)r0r)ÚlsuffixÚrsuffixTr?)rr,ÚjoinrBrC)rrrHÚ    join_typer r"r:rDs        rÚ test_join_indexes_and_columns_onrP¤sŸ€ðm‰m˜JÓ'€Gð}‰}˜g wÐ/Ó0€Hð    ×ÑÓß     ‰Ø ˜' 7Ð+°ÀDÐRVð
ó
 
÷
‰:Ó    ð  ð\‰\ؐg˜wÐ'¨YÀÈdðó€Fô×ј& (°tÖ<r)NNNN)ÚnumpyrÚpytestÚpandasrÚpandas._testingÚ_testingrBÚfixturerrr r"r;ÚmarkÚ parametrizerErGrPrrrú<module>rYsšðÛÛ åÝð‡ñóðð‡ñóðð€‡˜˜W˜I¨°Ð'9Ð:Ô;ñó<ðð€‡˜˜W˜I¨°Ð'9Ð:Ô;ñ    ó<ð    óBðJ‡×ÑØ à
ˆGÐØ
ˆFÐØ
7Р   ˜WÐ%Ø
7Р   ˜WÐ%ð    óñ=óð=ð‡×ÑØà
ˆWI˜wÐ'Ø
ˆWI˜wÐ'Ø
7Р   ˜g wÐ/°Ð8Ø
7Р   ˜g wÐ/°Ð9ð    óñ
=óð
=ð‡×ј¨°'¸7Ð1CÐ'DÓEñ=óFñ=r