zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
U
­ý°dJ6ã@sXddlZddlZddlZddlZddlmZddlm    Z    ddl
m Z Gdd„de ƒZ dS)éN)ÚExtensionArray)Ú EABackedBlock)ÚBaseExtensionTestsc @speZdZdZej dddg¡dd„ƒZej dddg¡dd„ƒZd    d
„Z    d d „Z
d d„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zej d#d$d%gejjd&d'gd(d)gd*g¡d+d,„ƒZej d-ejjd$d%gd.d/ggd.d/gd*ej d&d'd0g¡ej d1d2d3g¡ej d4d5d6d7d8g¡g¡ej d9d:d;g¡d<d=„ƒƒZd>d?„Zd@dA„ZdBdC„ZdDS)EÚBaseReshapingTestsz&Tests for reshaping and concatenation.Úin_frameTFcCs¢t |¡}|rt |¡}tj||gdd}t|ƒt|ƒdksBt‚|rR|jd}n|j}||jksft‚t|j    dƒrˆt
|j    j dt ƒsˆt‚t
|j    j dtƒsžt‚dS)NT©Z ignore_indexérÚblocks)ÚpdÚSeriesÚ    DataFrameÚconcatÚlenÚAssertionErrorÚdtypesÚdtypeÚhasattrZ_mgrÚ
isinstancer    rZarraysr)ÚselfÚdatarÚwrappedÚresultr©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/base/reshaping.pyÚ test_concats
 
  zBaseReshapingTests.test_concatc    Cs¼tj| ddg¡ddgd}tj| ddg¡ddgd}|rXt d|i¡}t d|i¡}t ||g¡}|r”t d| ddddg¡i¡}| ||¡n$t | ddddg¡¡}| ||¡dS)Nér©ÚindexréÚa)r
r Útaker r Úassert_frame_equalÚassert_series_equal)rZ data_missingrZ valid_blockZna_blockrÚexpectedrrrÚtest_concat_all_na_block"sz+BaseReshapingTests.test_concat_all_na_blockcCs4t d|dd…i¡}t ddddgi¡}t ddddgi¡ d¡}|||g}t |¡}t d    d
„|Dƒ¡}| ||¡t d d
„|Dƒ¡}t d d
„|Dƒ¡}| ||¡t || t¡g¡}t | d ¡| d ¡g¡}| ||¡t |d|d t¡g¡}t |d d ¡|d d ¡g¡}| ||¡dS)NÚArrrrÚbÚcÚcategorycSsg|]}| t¡‘qSr©ÚastypeÚobject©Ú.0ÚxrrrÚ
<listcomp>:sz?BaseReshapingTests.test_concat_mixed_dtypes.<locals>.<listcomp>cSsg|] }|d‘qS©r%rr,rrrr/>scSsg|]}|d t¡‘qSr0r)r,rrrr/?sr+)r
r r*r r!r"r+)rrÚdf1Údf2Zdf3Údfsrr#rrrÚtest_concat_mixed_dtypes1s 
 
   "z+BaseReshapingTests.test_concat_mixed_dtypescCs*t d|dd…i¡}t ddddgi¡}t |dd…dddgdœ¡}tj||gdd}| ||¡tj|d|dgdd}| ||¡tjddddgidddgd}t |jt|dd…ƒ|g|jd    tjdddgdœ¡}tj||gdd}| ||¡tj|d|dgdd}| ||¡dS)
Nr%rÚBrr©r%r5©Úaxisr©r)    r
r r r!Ú_from_sequenceÚlistrÚnpÚnan©rrÚna_valuer1r2r#rrrrÚtest_concat_columnsKs"    þÿ z&BaseReshapingTests.test_concat_columnscCs†t d|dd…i¡}t d|dd…i¡}t |jt|dd…ƒ|g|jd|dd…dœ¡}tj||gddd    }| ||¡dS)
Nr%rr5ér9r6rF)r8Úcopy)r
r r:r;rr r!r>rrrÚ'test_concat_extension_arrays_copy_falsecs 
þÿz:BaseReshapingTests.test_concat_extension_arrays_copy_falsecCs–t d|dd…i¡}t d|dd…i¡}tj||gdd}t |jttdƒƒdgddd|jdgdttdƒƒdddœ¡}| ||¡dS)    Nrér&Tréÿÿÿÿ)Z
allow_fill)rr&)r
r r r r;Úranger!)rrrr&rr#rrrÚtest_concat_with_reindexpsþÿz+BaseReshapingTests.test_concat_with_reindexc    Cs˜|dd…}|dd…}t |¡ tj|dddgd¡\}}t |jt|ƒ|g|jd¡}t |j|gt|ƒ|jd¡}| ||¡| ||¡dS)NrrrDrrr9)r
r Úalignr:r;rr"©    rrr?rr&Úr1Úr2Úe1Úe2rrrÚ
test_align}s  $   zBaseReshapingTests.test_alignc    Cs¨|dd…}|dd…}t d|i¡ tjd|idddgd¡\}}t d|jt|ƒ|g|jdi¡}t d|j|gt|ƒ|jdi¡}| ||¡| ||¡dS)NrrrDr%rrr9)r
r rHr:r;rr!rIrrrÚtest_align_frameˆs  ,ÿÿ z#BaseReshapingTests.test_align_framecCsztj|dd}t dt t|ƒd¡i¡}| |¡\}}tj|jt|ƒ|g|j    d|j
d}|  ||¡|  ||¡dS)Nr)ÚnameÚcolrr9) r
r r r<ZarangerrHr:r;rrPr"r!)rrr?ÚserÚdfrJrKrLrrrÚtest_align_series_frame—sþ z*BaseReshapingTests.test_align_series_framecCsJt ddgt|ƒi¡}||d<t dgt|ƒ|dœ¡}| ||¡dS©Nr%rr5r6©r
r rr!©rrrSr#rrrÚ,test_set_frame_expand_regular_with_extension¥sz?BaseReshapingTests.test_set_frame_expand_regular_with_extensioncCsJt d|i¡}dgt|ƒ|d<t |dgt|ƒdœ¡}| ||¡dSrUrVrWrrrÚ,test_set_frame_expand_extension_with_regular«sz?BaseReshapingTests.test_set_frame_expand_extension_with_regularcCs<tjddgt|ƒitd}||d<|jd|jks8t‚dS)Nr%rr9)r
r rr+rrr)rrrSrrrÚtest_set_frame_overwrite_object±sz2BaseReshapingTests.test_set_frame_overwrite_objectc Cs6t |dd…dddgdddgdœ¡}t ddddgddddgdœ¡}t ||¡}t dddgdddgdddg|j|d|d|dg|jdd    œ¡}| ||d
d d d g¡tj||dd}t ddddtjgdddtjdgdddddg|j|d|d|d|d|g|jdd    œ¡}| ||d
d d d g¡dS)Nrrrr)ÚextÚint1Úkeyé)Úint2r]r9)r\r_r]r[r[r\r]r_Úouter)Úhow)r
r Úmerger:rr!r<r=)rrr?r1r2ÚresÚexprrrÚ
test_merge·s4&  ÿüÿ
 ÿüÿ
zBaseReshapingTests.test_mergecCs²|dd…\}}t|ƒj||g|jd}t |ddgdœ¡}tj||dd}t |ddgddgdœ¡}| ||¡tj|jddg|dd}|jddgjd    d
}| ||¡dS) Nrr9r©r]Úvalr]©Úon©r]Zval_xZval_yrT)Zdrop)    Útyper:rr
r rbr!ÚilocZ reset_index)rrrr&r]rSrr#rrrÚtest_merge_on_extension_arrayÖs z0BaseReshapingTests.test_merge_on_extension_arrayc        Cs¬|dd…\}}t|ƒj|||g|jd}t |dddgdœ¡}t |dddgdœ¡}tj||dd}t | dddddg¡dddddgdddddgd    œ¡}| ||¡dS)
Nrr9rrrfr]rhrrj)rkr:rr
r rbr r!)    rrrr&r]r1r2rr#rrrÚ(test_merge_on_extension_array_duplicatesås  ýÿz;BaseReshapingTests.test_merge_on_extension_array_duplicatesÚcolumnsr%r5)r%r)r%r&r`Úinner)ÚnamescCs®t |dd…|dd…dœ¡}||_| ¡}| t¡ ¡}| t¡}t|tjƒrr|j|j    dd…dfjks”t
‚n"t |j |j    dd…dfjkƒs”t
‚| t¡}|  ||¡dS)NrDr6r)r
r roÚstackr*r+rr rrlrÚallrZ assert_equal)rrrorSrr#rrrÚ
test_stackös
 
  "
zBaseReshapingTests.test_stackrrr&)r5r&r6)rr&r')rrr)r%rr)r%r&r)r%rr)r5rr)r5r'rÚobjÚseriesÚframec s(ˆdt|ƒ…‰|dkr(tjˆ|d}ntjˆˆdœ|d}|j}tt|ƒƒ‰tj     ‡fdd„td|ƒDƒ¡}|D]°}|j
|d‰t ‡‡fdd„ˆj Dƒƒs t ‚|dkrÒ| ¡}|j
|djd    dd
}    | ˆ|    ¡| t¡}
|
j
|ˆjjd } |dkr | jtk  ¡s t ‚ˆ t¡‰| ˆ| ¡qrdS) Nrvrr6c3s|]}t ˆ|¡VqdS©N)Ú    itertoolsÚ permutations)r-Úi)ÚlevelsrrÚ    <genexpr>0sz2BaseReshapingTests.test_unstack.<locals>.<genexpr>r)Úlevelc3s"|]}tˆ|jtˆƒƒVqdSrx)rÚarrayrk)r-rQ)rrrrr}6srr7)r~Z
fill_value)rr
r r Znlevelsr;rFryÚchainÚ from_iterableZunstackrsrorZto_frameZ    droplevelr!r*r+rr?r) rrrrurRÚnÚ combinationsr~rSZaltZobj_serr#r)rr|rrÚ test_unstacks0 ÿ ÿ  
 
 
zBaseReshapingTests.test_unstackcCs@| ¡}t|ƒt|ƒkst‚|d|d<|d|dks<t‚dS)Nrr)Zravelrkr©rrrrrrÚ
test_ravelJs zBaseReshapingTests.test_ravelcCsf| ¡}t|ƒt|ƒkst‚||k    s(t‚|j|jddd…ksBt‚|d|d<|d|dksbt‚dS)NrErr)Ú    transposerkrÚshaper…rrrÚtest_transposeSs   z!BaseReshapingTests.test_transposecCstj|dd…|dd…dœddddgd}|j}tjt|ƒj|dgd    |jd
t|ƒj|d gd    |jd
t|ƒj|d    gd    |jd
t|ƒj|d gd    |jd
d œddgd}| ||¡| t t |¡¡|¡| t t |dg¡¡|dg¡dS)Nr^r6rr&r'Údrrrr9rr)rr&r'rŠr%r5)    r
r ÚTrkr:rr!r<r‡)rrrSrr#rrrÚtest_transpose_frameas,üù     z'BaseReshapingTests.test_transpose_frameN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚpytestÚmarkZ parametrizerr$r4r@rCrGrNrOrTrXrYrZrermrnr
Z
MultiIndexÚ from_tuplesrtZ from_productr„r†r‰rŒrrrrr s`
 
   ÿþþ    
ûÿùþ %    r) ryÚnumpyr<r‘Zpandasr
Zpandas.api.extensionsrZpandas.core.internals.blocksrZ pandas.tests.extension.base.baserrrrrrÚ<module>s