gL ik6\ddlZddlZddlZddlZddlmZddl m Z ddl m Z GddZ y)N)ExtensionArray) EABackedBlockc ~eZdZdZej j dddgdZej j dddgdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZej j-dej j dddgej0j3ddgddggej j dddgdZej j dej0j7ddgd d!ggd d!gej0j3gd"ej0j7gd#ej0j3gd$gej j d%d&d'gd(Zd)Zd*Zd+Zy,)-BaseReshapingTestsz&Tests for reshaping and concatenation.in_frameTFctj|}|rtj|}tj||gd}t |t |dzk(sJ|r|j d}n |j }||j k(sJt|jdr)t|jjdtsJt|jjdtsJy)NT ignore_indexrblocks)pdSeries DataFrameconcatlendtypesdtypehasattr_mgr isinstancer rarraysr)selfdatarwrappedresultrs k/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/extension/base/reshaping.py test_concatzBaseReshapingTests.test_concats))D/ ll7+GGW-DA6{c$i!m+++ MM!$ELLE """ 6;; )fkk003]C CC&++,,Q/@@@c4tj|jddgddg}tj|jddgddg}|r.tjd|i}tjd|i}tj||g}|r?tjd|jgdi}t j ||ytj|jgd}t j||y)Nrindexr a)r r rr)r rtakerrtmassert_frame_equalassert_series_equal)r data_missingr valid_blockna_blockrexpecteds rtest_concat_all_na_blockz+BaseReshapingTests.test_concat_all_na_block"sii 1 11a& 9!QH 99\..1v6q!fE ,,['9:K||S(O4HK23 ||S,*;*;L*I$JKH  ! !&( 3yy!2!2?99c#hooh7S9RST vx0=1As H. H3;H8c tjd|ddi}tjdgdi}tj|ddgdd}tj||gd}tj||tj|d|dgd}tj||tjdgdigd}tj|j t |dd|gz|j tjdd dgd}tj||gd}tj||tj|d|dgd}tj||y) Nr/r#Br0r/r>r axisr!rr ) r rrr&r'_from_sequencelistrnpnanrrna_valuer7r8r,rs rtest_concat_columnsz&BaseReshapingTests.test_concat_columnsKsLllCbq?+llC+,<rBr?r F)rAcopy)r rrCrDrrr&r'rGs r'test_concat_extension_arrays_copy_falsez:BaseReshapingTests.test_concat_extension_arrays_copy_falsecsllCbq?+llCa+,<<((d2Ah8*)DDJJ(W!AY   C:AE: fh/rc tjd|ddi}tjd|ddi}tj||gd}tj|jt t ddgdzzd|jdgdzt t dzdd}t j||y) Nr$r2Tr ) allow_fill)r$r2)r rrr%rDranger&r')rrr$r2rr,s rtest_concat_with_reindexz+BaseReshapingTests.test_concat_with_reindexps LL#tBQx ) LL#tBQx )Aq65<<YYtE!H~":tYLYYqDqN:tYL   fh/rc|dd}|dd}tj|jtj|gd\}}tj|jt ||gz|j }tj|j|gt |z|j }t j||t j||y)Nr#r rOr0r!rB)r ralignrCrDrr&r( rrrHr$r2r1r2e1e2s r test_alignzBaseReshapingTests.test_align}s !H 1I1##BIIay$ABBYYt**47hZ+?tzz*R S YYt**H:Q+?tzz*R S r2& r2&rc |dd}|dd}tjd|ijtjd|igd\}}tjd|jt ||gz|j i}tjd|j|gt |z|j i}t j||t j||y)Nr#r rOr/r0r!rB)r rrUrCrDrr&r'rVs rtest_align_framez#BaseReshapingTests.test_align_frames !H 1IsAh'--bllC89.UVB\\ $%%d1g &:$**%M N \\ $%%xj47&:$**%M N  b"% b"%rctj|d}tjdtjt |dzi}|j |\}}tj|jt||gz|j|j}tj||tj||y)Nr$)namecolr rB)r rrrEarangerrUrCrDrr_r&r(r')rrrHserdfrWrXrYs rtest_align_series_framez*BaseReshapingTests.test_align_series_framesii3' \\5"))CHqL"9: ;2B YY   T hZ 7tzz  J  r2& b"%rctjddgt|zi}||d<tjdgt|z|d}tj||yNr/r r>r?r rrr&r'rrrcr,s r,test_set_frame_expand_regular_with_extensionz?BaseReshapingTests.test_set_frame_expand_regular_with_extensionsU \\3c$i0 13<ll48YyQRllLFGhhsC ll!! **!Wd1gtAw/tzz+     c3'E#FGhhsCW-llAq!RVV,Aq"&&!,&**!Wd1gtAwQB$**+     c3'E#FGrc|dd\}}t|j||g|j}tj|ddgd}tj ||d}tj|ddgddgd}t j||tj |jddg|d}|jddgjd }t j||y) Nr rBr rrvalrronrrval_xval_yrT)drop) typerCrr rrwr&r'iloc reset_index)rrr$r2rrrcrr,s rtest_merge_on_extension_arrayz0BaseReshapingTests.test_merge_on_extension_arraysBQx14j''Adjj'A \\#q!f5 6"bU+<<q!f1v NO fh/"''1a&/2%8==!Q(44$4? fh/rc|dd\}}t|j|||g|j}tj|gdd}tj|gdd}tj ||d}tj|j gdgdgd d }tj||y) Nr rBr0r|rrr~)rrr r r )r r r r#r#)r r#r r r#r) rrCrr rrwr%r&r') rrr$r2rrr7r8rr,s r(test_merge_on_extension_array_duplicatesz;BaseReshapingTests.test_merge_on_extension_array_duplicatessBQx14j''Aq 'Dll3y9:ll3y9:#su-<<xx0((   fh/rz9ignore:The previous implementation of stack is deprecatedcolumnsr/r>r/r$r/r2ruinner)names future_stackc2tj|dd|ddd}||_|j|}|j t j|}|j t }t |tjr,|j|jdddfjk(s7Jt|j|jdddfjk(sJ|j t }tj||y)NrOr?)rr)r rrstackr6r5rrrrallrr& assert_equal)rrrrrcrr,s r test_stackzBaseReshapingTests.test_stacks\\RatBQx8 9 |499V$** *E??6* h *<<2771a4=#6#66 66v}}1 (;(;;< <<v& )rr"r$r2)rr)r>r2)r?r1ro))r/r$r )r/r2r)r/r$r)r>r$r)r>r3r objseriesframecj dt||dk(rtj|}ntjd|}|j}t t | tjj fdt d|D}|D]}|j| t fd jDsJ|dk(rI|j}|j|jdd } tj | |j#t$} | j|j&j( } |dk(r#| j*t$k(jsJ j#t$ tj | y) Nrr!r?c3JK|]}tj|ywN) itertools permutations).0ilevelss r z2BaseReshapingTests.test_unstack..4s#5 23I " "61 -5 s #r )levelc3bK|]&}t|jt(ywr)rarrayr)rr`rrs rrz2BaseReshapingTests.test_unstack..:s+>A 6#;,,d4j9s,/rr@)r fill_value)rr rrnlevelsrDrRrchain from_iterableunstackrrto_frame droplevelr&r'r6r5rrHr)rrr"rrbn combinationsrrcaltobj_serr,rrs ` @@r test_unstackzBaseReshapingTests.test_unstacksr,Lc%j! (?))D.C,,T5UCC MMeAh!445 7) r rTrrCrr&r'rEr)rrrcrr,s rtest_transpose_framez'BaseReshapingTests.test_transpose_framems? \\RatBQx8@T U<<$Z..Qy1}DJJ.O$Z..Qy1}DJJ.O$Z..Qy1}DJJ.O$Z..Qy1}DJJ.O   *  fh/ bll2<<+; 00" [[C [[ #J MM % %Z('0B &   [[^dE];*<*" [[ MM & &#sc3Z(@#s & T MM % %&J K MM & &'O P MM % %  ( [[UXw$78#49)*#4J ""&Prr)rnumpyrErpandasr pandas._testing_testingr&pandas.api.extensionsrpandas.core.internals.blocksrrrrrrs( 06oPoPr