L i_9 UddlmZddlZddlZddlmZddlmZddlm Z m Z m Z m Z m Z ddlmZddlmZmZddlmZdd lmZdd lmZdd lmZdd lmZmZdd lmZddl m!Z!e rddl"m#Z#m$Z$ddl%m&Z&ddl m'Z'm(Z(ddl)m*Z*m+Z+e Z,de-d< e dZ.de-d<e dZ/de-d<e e.e/fZ0de-d<dZ1de-d<dZ2de-d<GddeeeeeefZ3Gdde eefZ4y)) annotationsNreduce)chain) TYPE_CHECKINGAnyLiteralProtocoloverload)EagerNamespace)combine_alias_output_namescombine_evaluate_output_namesPandasLikeDataFramePandasLikeExpr)PandasSelectorNamespacePandasLikeSeries)NativeDataFrameT NativeSeriesT)is_non_nullable_boolean) zip_strict)IterableSequence) TypeAlias)ImplementationVersion) IntoDTypeNonNestedLiteralr Incomplete _Vertical _HorizontalAxisVERTICAL HORIZONTALc eZdZeddZeddZeddZeddZddZddZ ddZ ddZ dd Z dd Z dd Zdd Zdd ZddZeddZd dZ d!dZd dZ d"dZ d# d$dZy)%PandasLikeNamespacectSNrselfs e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/narwhals/_pandas_like/namespace.py _dataframezPandasLikeNamespace._dataframe4s""ctSr+rr,s r._exprzPandasLikeNamespace._expr8sr0ctSr+rr,s r._serieszPandasLikeNamespace._series<sr0c,tj|Sr+)rfrom_namespacer,s r. selectorszPandasLikeNamespace.selectors@s&55d;;r0c ||_||_yr+)_implementation_version)r-implementationversions r.__init__zPandasLikeNamespace.__init__Ds- r0cfdfd }|jj|tt|S)Nc8fdD}td|gS)Nc3<K|]}|D]}|ywr+).0r2sdfs r. z=PandasLikeNamespace.coalesce..func..Js!>EE"I>qa>a>sc*|j|ddS)Nstrategylimit fill_null)xys r.z.func..LsAKKDK$Mr0r)rDseriesexprss` r.funcz*PandasLikeNamespace.coalesce..funcIs">U>FMvV r0rQevaluate_output_namesalias_output_namescontextrDrreturnzlist[PandasLikeSeries]r2_from_callablerr r-rPrQs ` r.coalescezPandasLikeNamespace.coalesceHs<  zz(("?"G95A )  r0cjdfd tfdddjjS)Ncjjgd|jjdd}r|j S|S)Nliteralrr#)datanameindexrU)r4 from_iterable _native_frameracast)rD pandas_seriesdtyper-values r._lit_pandas_seriesz3PandasLikeNamespace.lit.._lit_pandas_seriesWsY LL66W&&,,Qq1 7M $))%00 r0c|gSr+rA)rDrhs r.rNz)PandasLikeNamespace.lit..cs*2./r0cdgS)Nr^rA_dfs r.rNz)PandasLikeNamespace.lit..dsykr0rSrTr;r<)rDrrWrrr9r:)r-rgrfrhs```@r.litzPandasLikeNamespace.litVs0 ! /"9#//MM   r0cTtfdddjjS)Ncnjjt|jgddggS)Nlenr)r`rarU)r4rbrrrc)rDr-s r.rNz)PandasLikeNamespace.len..ls: **))*+%sD+r0cdgS)NrrrArks r.rNz)PandasLikeNamespace.len..qsugr0rmrnr,s`r.rrzPandasLikeNamespace.lenjs-  #6#//MM  r0cfdfd }|jj|tt|S)NctjfdD}d|D}ttj|gS)Nc3.K|] }|ywr+rArBexprrDs r.rEzCPandasLikeNamespace.sum_horizontal..func..zs$@$T"X$@c3BK|]}|jdddyw)rNrJrBrCs r.rEzCPandasLikeNamespace.sum_horizontal..func..{sDAQ[[D$7D)rrbroperatoradd)rDit native_seriesrPs` r.rQz0PandasLikeNamespace.sum_horizontal..funcys7$$$@%$@@BDDM8<<78 8r0rRrVrXrZs ` r.sum_horizontalz"PandasLikeNamespace.sum_horizontalxs< 9 zz(("?"G95A )  r0cjdfd }|jj|tt|S)NcDcgc]}||D]}|}}}std|Dr d}t|r d|Dn t|}ttj |gScc}}w)Nc3K|]=}|jjdk(xr|jj?ywobjectNnativerfis_nullanyr{s r.rEzCPandasLikeNamespace.all_horizontal..func..7(EF(*@qyy{/@@(AAzwCannot use `ignore_nulls=False` in `all_horizontal` for non-nullable NumPy-backed pandas Series when nulls are present.c3\K|]$}t|r|n|jddd&yw)TNrrKr{s r.rEzCPandasLikeNamespace.all_horizontal..func..s413AT4QU9VV*,)r ValueErroriterrr}and_rDr2rCrOmsgrrP ignore_nullss r.rQz0PandasLikeNamespace.all_horizontal..funcs%*>EE"I>qa>a>F>C(JP(% P o% $ &\ 8=="-. .#?A2rRrVrXr-rrPrQs `` r.all_horizontalz"PandasLikeNamespace.all_horizontals< /(zz(("?"G95A )  r0cjdfd }|jj|tt|S)NcDcgc]}||D]}|}}}std|Dr d}t|r d|Dn t|}ttj |gScc}}w)Nc3K|]=}|jjdk(xr|jj?ywrrr{s r.rEzCPandasLikeNamespace.any_horizontal..func..rrzwCannot use `ignore_nulls=False` in `any_horizontal` for non-nullable NumPy-backed pandas Series when nulls are present.c3\K|]$}t|r|n|jddd&yw)FNrr{s r.rEzCPandasLikeNamespace.any_horizontal..func..s413AUDRV9WWr)rrrrr}or_rs r.rQz0PandasLikeNamespace.any_horizontal..funcs%*>EE"I>qa>a>F>C(JP(% P o% $ &\ 8<<,- -#?rrRrVrXrs `` r.any_horizontalz"PandasLikeNamespace.any_horizontals< .(zz(("?"G95A )  r0cfdfd }|jj|tt|S)NcDcgc]}||D]}|}}}d|D}d|D}ttj|ttj|z gScc}}w)Nc3DK|]}|jdddyw)rNrGrJr{s r.rEzDPandasLikeNamespace.mean_horizontal..func..sVAakk!d$k?Vs c3BK|]}d|jz yw)r#N)rr{s r.rEzDPandasLikeNamespace.mean_horizontal..func..s.funcsd+0D%%)DQADADLDVVF<|.func..-I4d2h-Iryc3<K|]}|jywr+to_framer{s r.rEzCPandasLikeNamespace.min_horizontal..func..6!6 horizontalhowr#axisr;r<r) listrrbrconcatrcminr9r:aliasr`rDrOrPr-s` r.rQz0PandasLikeNamespace.min_horizontal..funcs~%---I5-IIJF KK6v6L #mCCQCK#'#7#7 MM  %q ' r0rRrVrXrZs`` r.min_horizontalz"PandasLikeNamespace.min_horizontal< zz(("?"G95A )  r0cjdfd }jj|ttS)Nc6ttjfdD}tj d|Ddj j djjj|djgS) Nc3.K|] }|ywr+rArws r.rEzCPandasLikeNamespace.max_horizontal..func..rryc3<K|]}|jywr+rr{s r.rEzCPandasLikeNamespace.max_horizontal..func..rrrrr#rrr) rrrbrrrmaxr9r:rr`rs` r.rQz0PandasLikeNamespace.max_horizontal..funcs~%---I5-IIJF KK6v6L fSSaS[#'#7#7 MM  %q ' r0rRrVrXrZs`` r.max_horizontalz"PandasLikeNamespace.max_horizontalrr0cJ|jjjS)zvConcatenate pandas objects along a particular axis. Return the **native** equivalent of `pd.concat`. )r9to_native_namespacerr,s r._concatzPandasLikeNamespace._concats ##779@@@r0c|jjr'|jdkr|j|tdS|j|tS)NFrcopyr)r9 is_pandas_backend_versionrr&r-dfss r._concat_diagonalz$PandasLikeNamespace._concat_diagonalsI    ) ) +0E0E0L<<(<? ?||Ch|//r0c|jjrQtj5tjddt |j |tcdddS|jjr'|jdkr|j |tdS|j |tS#1swY xYw)NignorezDThe behavior of array concatenation with empty entries is deprecated)messagecategoryrrFr) r9is_cudfwarningscatch_warningsfilterwarnings FutureWarningrr'rrrs r._concat_horizontalz&PandasLikeNamespace._concat_horizontals    ' ' )((* :''b* ||Cj|9  : : ! ! + + -$2G2G$2N<<*5<A A||Cj|11 : :s 3CC c|dj}t|dddD]n\}}|j}t|t|k(r||k(jr=d|j d|d|j d}t ||j jr'|jdkr|j|td S|j|t S) Nrr#)startz>unable to vstack, column names don't match: - dataframe 0: z - dataframe z:  rFrr) columns enumeraterrallto_list TypeErrorr9rrrr&)r-rcols_0irD cols_currentrs r._concat_verticalz$PandasLikeNamespace._concat_verticalsQs12wa0 %EAr::L\"c&k1 8N7S7S7U))/)9(:;&&'S<+?+?+A*B"F  n$ %    ) ) +0E0E0L<<(<? ?||Ch|//r0c|jjjdfd }|jj |t t |S)Nc Dcgc]}||D]}|}}}|Dcgc]}|j}}|Dcgc]}|j}} s=ttj|}tfd|j |d}|gSdt ||D^}} |j|jjd|jj|jj fd|ddD} ttjdt | | D|}|gScc}}wcc}wcc}w)Nc|z|zSr+rA)rLrM separators r.rNz>PandasLikeNamespace.concat_str..func..0sQ]Q->r0c3HK|]\}}|j|dywNzip_with)rBrCnms r.rEz?PandasLikeNamespace.concat_str..func..7s&',1ArAJJsB''s "sep)r`rarfc3DK|]}j|dywrr)rBr sep_arrays r.rEz?PandasLikeNamespace.concat_str..func..Bs Sbi00"b9Ss c3,K|] \}}||zywr+rA)rBrCvs r.rEz?PandasLikeNamespace.concat_str..func..EsFtq!QUFs)rdrrr}rrr _with_native__native_namespace__Seriesrrarfr~)rDr2rCrrO null_masknull_mask_resultresult init_valuevalues separatorsrrPrrstrings @r.rQz,PandasLikeNamespace.concat_str..func)sO+0D%%)DQADADLD.:;affVn;F;.:;;I;#)(,, #B  >GPP%%t28O%'5? 5R'# V'33335<<!"(//55(//55 = TIcrNS LLFz*f'EF 8O?E;;sEE ErRrV)r:dtypesStringr2rYrr )r-rrrPrQrs ``` @r. concat_strzPandasLikeNamespace.concat_str$s\%%,,.  Dzz(("?"G95A )  r0Nc@|j}|||S|||Sr+)where)r-whenthen otherwisers r. _if_then_elsez!PandasLikeNamespace._if_then_elseRs( !JJ'/uT{KU45KKr0)rWztype[PandasLikeDataFrame])rWztype[PandasLikeExpr])rWztype[PandasLikeSeries])rWr)r;rr<rrWNone)rPrrWr)rgr rfzIntoDType | NonerWr)rWr)rPrrboolrWr)rWz._NativeConcat[NativeDataFrameT, NativeSeriesT])rzSequence[NativeDataFrameT]rWr)rz*Sequence[NativeDataFrameT | NativeSeriesT]rWr)rPrrstrrr rWrr+)rrrrrzNativeSeriesT | NonerWr)__name__ __module__ __qualname__propertyr/r2r4r7r=r[rorrrrrrrrrrrrrrrAr0r.r)r)+sD##  <<    (     $ 48  < $ 48  <   ( (AA0 2= 2  20", $, 14, DH, , d+/ LLL( L  Lr0r)ceZdZedd d dZedd d dZedd d dZedd d dZdd d dZy) _NativeConcat.)rcyr+rAr-objsrrs r.__call__z_NativeConcat.__call__]r0cyr+rArs r.rz_NativeConcat.__call__esr0cyr+rArs r.rz_NativeConcat.__call__irr0cyr+rArs r.rz_NativeConcat.__call__qs,/r0Ncyr+rArs r.rz_NativeConcat.__call__zs ,/r0)rzIterable[NativeDataFrameT]rr"r bool | NonerWr)rzIterable[NativeSeriesT]rr"rrrWr)r*Iterable[NativeDataFrameT | NativeSeriesT]rr$rrrWr)rrrr%rrrWz NativeDataFrameT | NativeSeriesT)r r r r rrAr0r.rr\s$  (     UX+6?GR   8       /8/ /  / * //! /8/ /  / * /r0r)5 __future__rr}r functoolsr itertoolsrtypingrrr r r narwhals._compliantr narwhals._expression_parsingr rnarwhals._pandas_like.dataframernarwhals._pandas_like.exprrnarwhals._pandas_like.selectorsrnarwhals._pandas_like.seriesrnarwhals._pandas_like.typingrrnarwhals._pandas_like.utilsrnarwhals._utilsrcollections.abcrrtyping_extensionsrrrnarwhals.typingrr r!__annotations__r"r$r%r&r'r)rrAr0r.r-s"BB.@5C9H?&2+7; I>qz 9!  Y#)[01i1) KnL  nLb $/H-}<=$/r0