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
U
­ý°dÉ2ã@sTddlZddlZddlmZmZmZmZddlm    Z
ddl m Z ej  ddd„dd„dd„g¡ej  d    ded
gdgd fd
ed d gd
d gd fg¡dd„ƒƒZej  dddg¡dd„ƒZdd„Zdd„Zej  ddd„edfdd„edfdd„edfdd„e dfd d„ed!fd"d„ed!fd#d„ed$fg¡d%d&„ƒZd'd(„Zd)d*„Zej  d+d,d„d-fd.d„d/fg¡d0d1„ƒZd2d3„Zej  d4d5d„ed ƒfd6d„ed d7ƒfd8d„ed d7ƒfg¡d9d:„ƒZd;d<„Zd=d>„Zej  d?d@gdAejgfed d gd7dBgge dCd@ejfg¡dDdEfdFd@ged
d d gdGd7dBgge dHdCd@ejfg¡dDdEfd@ged d gd7dBgge dCd@ejfg¡dDdEfd@gdAgfed gd7gge dCg¡dDdEfd@gejgfed gdBgged
gdIggdFd@gdAdJggdKdDdEfd@ejfed dBgdDd@ejfdLfg¡dMdN„ƒZ ej!dOdP„ƒZ"ej  dQdRd„dSd„g¡dTdU„ƒZ#dVdW„Z$dXdY„Z%dZd[„Z&d\d]„Z'dS)^éN)Ú    DataFrameÚIndexÚ
MultiIndexÚSeries)Ú IndexingErrorÚ access_methodcCs|dd…|fS©N©©ÚsÚxr    r    údd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexing/multiindex/test_getitem.pyÚ<lambda>órcCs|jdd…|fSr©Úlocr
r    r    r rrcCs|j|ddS)Né)Úlevel)Úxsr
r    r    r rrzlevel1_value, expectedr©ÚindexéécCsLtjdddgddgd}tddd    g|d
}d|j_|||ƒ}t ||¡dS) N)rr)rr)rrÚAÚB©Únamesrrrr)rÚ from_tuplesrrÚnameÚtmÚassert_series_equal)rZ level1_valueÚexpectedÚmiZserÚresultr    r    r Útest_series_getitem_multiindexs
 
r$Ú level0_valueÚDrc Cs t|ddgddddddd    d
ggdddd d d d d d d g
d d dddd d d ddg
gddgd}tj t|ƒd ¡}t||dgd}|dkr¦tjtdd|j    dW5QRXtjtdd|j    dW5QRX|j    |}t
|  ¡dd …dt dddgddd}t  ||¡dS)NrÚCrééé%é9éCéKéRrrrééééÚtagÚday©ÚlevelsÚcodesrÚval©rÚcolumnsrz^'A'$©Úmatchz^'X'$ÚX©r)rr)rÚnpÚrandomÚrandnÚlenrÚpytestÚraisesÚKeyErrorr8rZravelrrr )r%rZarrÚdfr#r!r    r    r Ú)test_series_getitem_duplicates_multiindex&s&.ý
ÿrGcCsL|d}| |jdd…¡}|j d¡ d¡|_||ƒd}t ||¡dS)Nré*éAr)éÐr)ÚreindexrÚ    droplevelrr ©Ú/multiindex_year_month_day_dataframe_random_dataZ
indexer_slr r!r#r    r    r Útest_series_getitemBs
 rOcCs.|d}|jd}||ƒd}||ks*t‚dS)Nré1)rJré
)ÚilocÚAssertionErrorrMr    r    r Ú"test_series_getitem_returns_scalarKs
 rTz)indexer,expected_error,expected_error_msgcCs
| d¡S©N)rJrr/)Ú __getitem__©r r    r    r rXrz^\(2000, 3, 4\)$cCs|dSrUr    rWr    r    r rYrcCs
|jdSrUrrWr    r    r rZrcCs
|jdS)N)rJrr/r1rrWr    r    r r[rzToo many indexerscCs| t|ƒ¡Sr)rVrBrWr    r    r r\rÚcCs |t|ƒSr)rBrWr    r    r r]rcCs|jt|ƒSr)rRrBrWr    r    r r_rz*single positional indexer is out-of-boundsc    Cs.|d}tj||d||ƒW5QRXdS)Nrr;)rCrD)rNÚindexerZexpected_errorÚexpected_error_msgr r    r    r Ú#test_series_getitem_indexing_errorsUsr[cCs6|d}|dd„|Dƒ}||dk}t ||¡dS)Nrcss|]}|dkVqdS)rNr    )Ú.0r r    r    r Ú    <genexpr>tsz7test_series_getitem_corner_generator.<locals>.<genexpr>r)rr )rNr r#r!r    r    r Ú$test_series_getitem_corner_generatorps r^cCs2|j}|jdd…df}|dj}t ||¡dS)Nr)ÚfooZone)ÚTÚvaluesrZassert_almost_equal)Ú multiindex_dataframe_random_datarFr!r#r    r    r Útest_getitem_simple~s
rczindexer,expected_error_msgcCs|dS)N)r_Zfourr    ©rFr    r    r rˆrz^\('foo', 'four'\)$cCs|dS)NZfoobarr    rdr    r    r r‰rz
^'foobar'$c    Cs,|j}tjt|d||ƒW5QRXdS)Nr;)r`rCrDrE)rbrYrZrFr    r    r Ú#test_frame_getitem_simple_key_error…s
recCshtdddgdddgdœƒ}ddgdd    gd
d gg|_|d}tdgdgdgg|jd
gd }t ||¡dS) NÚ1Ú2Ú3Ú4)ÚaÚbz level1 item1z level1 item2rXz level2 item2z level3 item1z level3 item2r9)rr:rrÚassert_frame_equal©rFr#r!r    r    r Ú*test_frame_getitem_multicolumn_empty_level”sýÿrnzindexer,expected_slicecCs|dS)Nr_r    rdr    r    r r¦rcCs|dS©NÚbarr    rdr    r    r r§rr1cCs|jdd…dfSrorrdr    r    r r¨rcCs>|j}|j|j|d}|j d¡|_||ƒ}t ||¡dS)N©r:r)r`rKr:rLrrl)rbrYZexpected_slicerFr!r#r    r    r Útest_frame_getitem_toplevel£s
rrcCs¦ddddddgddddddgdd    d
dddgg}tt|Žƒ}t |¡}ttj d d ¡|d }|d}|d d¡}t     
||¡|d}|d}| d¡}t     
||¡dS)NrjÚtopÚroutine1Zroutine2rXZODÚresult1Zresult2ZwxZwyr/r0rq)rjrXrX)rtru)rtrurX) ÚsortedÚziprrrr?r@rAÚrenamerr )ÚarraysZtuplesrrFr#r!r    r    r Útest_frame_mixed_depth_getµsý 
 
rzc    Csr|}dddg}td|dgd|dgd|d    gd
|d gg|d  ddg¡}|d d ¡|d<d|f}|jd|…}td|dgd|dgg|d  ddg¡}|d d ¡|d<t ||¡|j|d…}td|dgd|d    gd
|d gg|d  ddg¡}|d d ¡|d<t ||¡d|fd|f}}|j||…}td|dgd|d    gg|d  ddg¡}|d d ¡|d<t ||¡dS)NrjrkÚcé é éééé!é)é+rqÚint64)rZ    set_indexZastyperrrl)    Ú nulls_fixtureÚnÚcolsrFÚidxr#r!Úidx1Úidx2r    r    r Ú!test_frame_getitem_nan_multiindexÊs8
"þý& ÿþ &r‹zindexer,expectedrkrpr0©rkrpr„©r:Údtyperjr/©rjr_éÿÿÿÿr_)r7r6)rŽrcCsPtdddgdddggt ddd    |fg¡d
d }|jdd…|f}t ||¡dS) Nrrrr/r1r0rrŒrkr„r)rrrrrZ assert_equal)rYr!r…rFr#r    r    r Ú&test_frame_getitem_nan_cols_multiindexésC ÿûr‘c    Cs„ddddddgddd    d
d d gddd    d
d d gg}d ddg}tddgddddggddddddgdd
d
ddd ggddgd}t|||dS)z;Fixture for DataFrame used in tests for gh-4145 and gh-4146rjÚdÚer{Úfrkrr/r1rr0rÚh1Úh3Úh5rrÚA1ÚA2ZB1ÚB2rÚmainÚsubr5r9)rr)Údatarr:r    r    r Údataframe_with_duplicate_index=s.
ýržrYcCs|dS©N©rr˜r    rdr    r    r rKrcCs|jdd…dfSrŸrrdr    r    r rKrcCsV|}tdddgƒ}tjdgddgd}tdd    d    gg||d
j}||ƒ}t ||¡dS) Nr•r–r—r r›rœrrjrr9)rrrrr`rrl)ržrYrFrr:r!r#r    r    r Útest_frame_mi_accessJs r¡cCs:|}tdddgdddgdd}|dd}t ||¡dS)    Nrjrr•r–r—r˜)rrr)rrr ©ržrFr!r#r    r    r Ú#test_frame_mi_access_returns_seriesXs r£cCsR|}tdddgdddggtddgdddd    d
gd j}|d d}t ||¡dS) Nr’r/r“r1ršrœr>r•r–r—r9r)rrr`rrlr¢r    r    r Ú"test_frame_mi_access_returns_framecsý r¤cCs\tdtdƒt dgdgg¡d}|g}tddgtdgdgggggdd}t ||¡dS)Nrrrr9)r6r7)rÚrangerZ from_productrrlrmr    r    r Útest_frame_mi_empty_sliceos ÿr¦cCsôddddgddddgg}tj|dd}tddddg|d    gd
}|j|jdd…d    fd kdd…fj}|j|dd…f}|jd gt|jƒdd…f}t ||¡d |j|j|jdd…d    fd kjd    f<|}tddddg|d    gd
}t ||¡dS)Nrjrk)r‰rŠrrrrr/Úvaluer9rFr1)rZ from_arraysrrrrBrrl)ryrrFZempty_multiindexr#r!r    r    r Útest_loc_empty_multiindexys& (r¨)(Únumpyr?rCZpandasrrrrZpandas._testingZ_testingrZpandas.core.indexingrÚmarkZ parametrizer$rGrOrTrEÚ
IndexErrorr[r^rcrernÚslicerrrzr‹Únanrr‘Zfixtureržr¡r£r¤r¦r¨r    r    r    r Ú<module>sÚ  þ*þ 
    
      ýùþ
 
 
þþ
ýþ
 
ýý ÿûý ýý
 
 
ýý 
 
ÿûý  Éþ<
 
ÿ