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
U
®ý°d%3ã@s’ddlZddlZddlZddlmZmZmZmZm    Z
m Z dd„Z ej  ddeeg¡dd„ƒZdd    „Zd
d „Zej  d d dg¡ej  dddg¡ej  dddg¡dd„ƒƒƒZej jddddgdddgdddggdddgdej jd eeed!d"„gd#d$d%d&gdd'd(„ƒƒZd)d*„Zej  d+d,d-d.d/g¡d0d1„ƒZej  d+d,d-d.d/g¡d2d3„ƒZd4d5„Zd6d7„Zd8d9„Zej  d:eeejeeg¡d;d<„ƒZd=d>„ZdS)?éN)Ú    DataFrameÚIndexÚ
MultiIndexÚSeriesÚ_testingÚconcatcCs(t|tƒrt ||¡n t ||¡dS)N)Ú
isinstancerÚtmÚassert_series_equalZassert_index_equal)ÚleftÚright©r úTd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/strings/test_cat.pyÚassert_series_or_index_equals
rÚothercCsH|}ddg}|r||ƒ}n|}||ddjj|dd}|jdksDt‚dS)NÚaÚbÚname)rú,©Úsep)ÚstrÚcatrÚAssertionError)Úindex_or_seriesrÚboxÚvaluesÚresultr r rÚtest_str_cat_names
rc    CsD|}|dddddtjgƒ}|j ¡}d}||ks4t‚|jjdd}d}||ksRt‚|jjdd    d
}d }||ksrt‚tjdtjdd d tjgtd}|ddddddgƒ}|jj|dd}t||ƒ|jjt|ƒdd}t||ƒd}t    dddgƒ}t
j t |d|j |j ¡W5QRXt
j t |d|j t|ƒ¡W5QRXdS)NrrÚcZaabbcú-©Úna_repzaabbc-Ú_ZNA)rr"Z a_a_b_b_c_NAÚdZfoo©ÚdtypeÚaaza-ÚbbZbdZcfooz--ú<If `others` contains arrays or lists \(or other list-likes.*Ú1Ú2Ú3©Úmatch)ÚnpÚnanrrrÚarrayÚobjectrÚlistrÚpytestÚraisesÚ
ValueErrorr)rrÚsrÚexpectedÚtÚrgxÚzr r rÚ test_str_cat$s.
 
 
r<c    Csh|}|ddddgƒ}d}tjt|d|j d¡W5QRXtjt|d|j d¡W5QRXdS)    Nrrrr$z'Did you mean to supply a `sep` keyword?r-ú|z    )r4r5r6rr)rrr7Úmessager r rÚ#test_str_cat_raises_intuitive_errorMsr?rÚÚ dtype_targetr2ÚcategoryÚ dtype_callerc    Cs.|}tddddg|d}|tkr$|n
t||d}tddddg|d}tdddd    gƒ}|tkr`|n
t||d}|jj|j|d
}t||ƒt|j|d}|jj||d
}t||ƒ|jj|j|d
}t||ƒt|j|jd}tdddddgƒ}|tkrú|nt||jdd …d}|jj||d
}t||ƒdS) Nrrr%©ÚindexrÚabr'r(Úacré)rrrrrr)    rrCrArrr7r9r8rr r rÚtest_str_cat_categoricalXs$
 
 
"rIÚdatarHéégš™™™™™¹?gš™™™™™É?g333333Ó?rZintegersZfloatsÚmixed)ÚidsrcCstj|tdS)Nr%)r/r1r2)Úxr r rÚ<lambda>ƒórPrrr3znp.arrayc    CsJtdddgƒ}||ƒ}d}tjt|d|jj|dddW5QRXdS)    Nrrrz;Concatenation requires list-likes containing only strings.*r-Úouterr ©Újoinr")rr4r5Ú    TypeErrorrr)rrJr7r9Úmsgr r rÚtest_str_cat_wrong_dtype_raises{s
rWc     CsÌ|}tddddgƒ}|tkr |n
t||d}tdddd    g|jd}t|t||dgd
d }td d ddgƒ}|tkrv|nt|j|jd}|j |¡}t||ƒ|j |j¡}t||ƒ|j ||g¡}t||ƒ|j ||jg¡}t||ƒddddg|_|ddddgƒ}|tkr|nt|j|jd}|j ||g¡}t||ƒ|j ||jg¡}t||ƒddddg|_|ddddgƒ}|tkrˆ|nt|j|jd}|j |¡}t||ƒd}tdddgƒ}t||gd
d }    tj    t
|d|j |    j¡W5QRXtj    t
|d|j |j|jg¡W5QRXtj    t
|d|j |j|g¡W5QRXd}tdt j ddgƒ}
tj    t |d|j |
dg¡W5QRXtj    t |d|j |
|g¡W5QRXtj    t |d|j |
|jg¡W5QRXtj    t |d|j |
|
|gg¡W5QRXtj    t |d|j t|
ƒ¡W5QRXtj    t |d|j |
t|
ƒg¡W5QRXtj    t |d|j d
¡W5QRXtj    t |d |j t|jt|ƒgƒ¡W5QRXdS)Nrrrr$rDÚAÚBÚCÚDrH©ZaxisZaAaZbBbZcCcZdDdZaDaZbAbZcBcZdCdZaDdZbAaZcBbZdCcr)r*r+r,r-z*others must be Series, Index, DataFrame,.*Úu)rrrrrrrrEr4r5r6r/r0rUÚsetÚiterr3) rrr7r9r$r8rr:r;Úer]r r rÚtest_str_cat_mixed_inputs‘sl 
 
 
 
 
 
 
rarTr rRÚinnerr c    Csž|}tddddgddddgd}tdddd    gddd
dgd}|j||d \}}|jj|d d }|tkr~t|ƒ}t|ƒ}t|ƒ}|jj||d d}t||ƒdS)Nrrrr$rDr[rXÚErYr`©rTr r!rS)rZalignrrrr)    rrTrr7r9ÚsaÚtar8rr r rÚtest_str_cat_align_indexed÷srgc     Csætddddgƒ}tddddgdddd    gd
}t||gd    d }td d dddgƒ}|j|jj|j|d}|jj||g|dd}t ||¡|jj||dd}t ||¡t     
ddddg¡}tdddddgƒ}|dkrà|j  |j¡n*|dkrö|j  |j¡n|j  |j |j¡¡}|j|jj||d}|jj||g|dd}t ||¡tjtdd |jj|t|ƒg|d!W5QRXd"}    td#d$d%gƒj}
tjt|    d |jj|
|d!W5QRXtjt|    d |jj||
g|d!W5QRXdS)&Nrrrr$r`rLrérHrDr\ÚaaaÚbbbzc--Údddz-ee)Úhowr rSrXrYrZr[ZaaAZbbBzc-CZddDú-e-rbrRzothers must be Series,.*r-rdr)r*r+r,)rrÚlocrErTrrr    r
r/r1Ú intersectionÚunionÚappendÚ
differencer4r5rUr3rr6) rTr7r9r$Zexpected_outerr8rr]Zrhs_idxr:r;r r rÚtest_str_cat_align_mixed_inputs s8  ÿÿû "rscCsì|}|}tddddgƒ}|tkr$|n
t||d}|tjgdtd}|tkrP|n
t||d}|tkr~ttjgd|jtd}nttjgdtd}|jj|d    d
}t||ƒ|tkrèttjgdt|jd }|jj|d    d
}t     
||¡dS) Nrrrr$rDrhr%)rEr&r rd)r&rE) rrr/r0r2rErrrr    r
)rZindex_or_series2rrr7r9r8rr r rÚtest_str_cat_all_na=s
rtcCs°tddddgƒ}tddddgdddd    gd
}td d d ddgƒ}|jjt||jgƒddd}t ||¡tddgddgd
}|jj|jdg|jdggddd}t ||¡dS)Nrrrr$r`rLrrhrHrDrirjzc-crkrmrRr rSzaa-zd-dr )rrrr_rr    r
rn)r7r9r8rr r rÚtest_str_cat_special_casesXs &rucCs ttjddgdddggddgdd    }| ¡}||jdk}|j d
¡}|j d
¡}|jj|d d }|j    dd ksvt
‚|jj||gd d }|j    ddksœt
‚dS)NiÛiÜrHrKrLÚyearÚmonth)ÚnamesrDrú rz2011 2z2011 2 2) rrZ from_productZ reset_indexrwrvZastyperrrnr)ZdfZstr_yearZ    str_monthZstr_bothZ str_multipler r rÚtest_cat_on_filtered_indexgsÿÿ  rzÚklasscCsBtdddgƒ}|j |dddgƒ¡}tddd    gƒ}t ||¡dS)
NrrrrOÚyr;ZaxZbyÚcz)rrrr    r
)r{r7rr8r r rÚtest_cat_different_classes|sr~c    CsJtdddddgƒ}t d¡}tjt|d|jj|jdW5QRXdS)    NZAbCÚdeZFGHIÚjZkLLLmz£others must be Series, Index, DataFrame, np.ndarray or list-like (either containing only strings or containing only objects of type Series/Index/np.ndarray[1-dim])r-)Zothers)rÚreÚescaper4r5rUrr)Zpsr>r r rÚtest_cat_on_series_dot_str…s ÿrƒ)rÚnumpyr/r4Zpandasrrrrrr    rrÚmarkZ parametrizerr<r?rIr3rWrargrsrtrurzÚtupler1r~rƒr r r rÚ<module>sD 
 
)  ý
ý f
 
1