L iC1TddlmZddlZddlmZmZddlmZddlmZddl m Z m Z ddl m ZddlZddlmZmZddlmZdd lmZdd lmZdd lmZmZmZdd lmZm Z dd l!m"Z"m#Z#e r!ddl$m%Z%m&Z&ddl'm cm(Z)ddl!m*Z*ddl+m,Z,m-Z-m.Z.Gddeeeej^feeefZ0y)) annotationsN)datedatetime)reduce)chain) TYPE_CHECKINGcast)DepthTrackingNamespace LazyNamespace DaskLazyFrameDaskExpr)DaskSelectorNamespace)align_series_full_broadcastnarwhals_to_native_dtypevalidate_comparand)combine_alias_output_namescombine_evaluate_output_names)Implementation zip_strict)IterableIterator)Version) ConcatMethod IntoDTypeNonNestedLiteralceZdZUejZded<eddZeddZ eddZ ddZ ddZ ddZ dd Zdd Zdd Z dd Zdd ZddZddZ ddZddZ d ddZy) DaskNamespacer_implementationc,tj|SN)rfrom_namespaceselfs ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/narwhals/_dask/namespace.py selectorszDaskNamespace.selectors*s$33D99ctSr"rr$s r&_exprzDaskNamespace._expr.sr(ctSr"r r$s r& _lazyframezDaskNamespace._lazyframe2sr(c||_yr")_version)r%versions r&__init__zDaskNamespace.__init__6s  r(cXdfd }j|ddjS)Nc0tj}tjg|d}nTt t r,t t sd}tjg|d}ntjgd}|jj}tj||}|djgS)Nliteral)dtypenamezdate32[pyarrow])r5) npartitionsr) rr.pdSeries isinstancerr _native_framer6dd from_pandas to_series)df native_dtypenative_pd_seriesr6 dask_seriesr4r%values r&funczDaskNamespace.lit..func:s 7t}}M #%99eWLy#Y E4(x2 1 #%99eWLy#Y #%99eW9#E **66K..)9{SKN,,./ /r(cdgSNr3_dfs r&z#DaskNamespace.lit..Msykr(evaluate_output_namesalias_output_namesr/r>r returnzlist[dx.Series]r*r.)r%rBr4rCs``` r&litzDaskNamespace.lit9s0 0"zz "9#MM   r(cJdd}|j|dd|jS)Ncl|j|jdjjgS)Nr)r:columnssizer=)r>s r&rCzDaskNamespace.len..funcSs-$$RZZ]388BBDE Er(cdgS)NlenrFrGs r&rIz#DaskNamespace.len..Ysugr(rJrMrO)r%rCs r&rVzDaskNamespace.lenRs0 Fzz "5#MM   r(cjdfd }|j|tt|jS)NctjfdD}r d|D}ttjt g|gS)Nc3.K|] }|ywr"rF.0er>s r& z=DaskNamespace.all_horizontal..func..`=Sae=Sc3`K|]&}|jdk(r|n|jd(yw)boolTNr4fillnar[ss r&r]z=DaskNamespace.all_horizontal..func..es(Uqww&0!ahhtnDU,.)r from_iterableroperatorand_rr>seriesexprs ignore_nullss` r&rCz*DaskNamespace.all_horizontal..func_sG*/*=*==SU=S*SFUfU8==*Eb*R6*RST Tr(callrKrLr/rMr*rrr.r%rmrlrCs `` r&all_horizontalzDaskNamespace.all_horizontal^s; Uzz"?"G95AMM   r(cjdfd }|j|tt|jS)NctjfdD}r d|D}ttjt g|gS)Nc3.K|] }|ywr"rFrZs r&r]z=DaskNamespace.any_horizontal..func..qr^r_c3`K|]&}|jdk(r|n|jd(yw)raFNrbrds r&r]z=DaskNamespace.any_horizontal..func..ss(V!qww&0!ahhuoEVrf)rrgrrhor_rrjs` r&rCz*DaskNamespace.any_horizontal..funcpsE*/*=*==SU=S*SFVvV8<<)DR)Q&)QRS Sr(rnrMrprqs `` r&any_horizontalzDaskNamespace.any_horizontalos; T zz"?"G95AMM   r(cfdfd }|j|tt|jS)NctgfdD}tj|djdgS)Nc3<K|]}|D]}|ywr"rFr[r*rer>s r&r]z=DaskNamespace.sum_horizontal..func..!>EE"I>qa>a>axis)rr;concatsumr>rkrls` r&rCz*DaskNamespace.sum_horizontal..func~sA0>U>FIIf1-11q19: :r(rnrMrpr%rlrCs ` r&sum_horizontalzDaskNamespace.sum_horizontal}s: ; zz"?"G95AMM   r(cP|s d}t||Dcgc]}|j}}|dj}|dk(rt|dddD]n\}}|j}t |t |k(r||k(j r=d|j d|d|j d }t|ttj|dd |j S|d k(r-ttj|dd |j Stcc}w)NzNo items to concatenaterverticalr)startz>unable to vstack, column names don't match: - dataframe 0: z - dataframe z:  inner)rjoin)r/diagonalouter) AssertionErrorr:rS enumeraterVallto_list TypeErrorr r;rr.NotImplementedError) r%itemshowmsgidfscols_0r> cols_currents r&rzDaskNamespace.concats1+C % %(-.1q..Q * "3qr7!4 )2!zz &#f+5LF?**+B|/C/C/E.FbJ $C.( )! #AG4dmm  *   #AG4dmm "!-/sD#cfdfd }|j|tt|jS)NcDcgc]}||D]}|}}}t|gd|D}t|gd|D}td|}td|}td||z gScc}}w)Nc3>K|]}|jdyw)rNrcrds r&r]z>DaskNamespace.mean_horizontal..func..s6Yqqxx{6Ysc3BK|]}d|jz yw)rN)isnards r&r]z>DaskNamespace.mean_horizontal..func..s9qa!&&(l9sc ||zSr"rFxys r&rIz=DaskNamespace.mean_horizontal..func.. a!er(c ||zSr"rFrs r&rIz=DaskNamespace.mean_horizontal..func..rr(z dx.Series)rrr ) r>r*re expr_resultsrknon_nanumdenrls r&rCz+DaskNamespace.mean_horizontal..funcs+0D%%)DQADADLD0Z6YL6YZF09L9F+V4C+V4CcCi01 1EsA0rnrMrprs ` r&mean_horizontalzDaskNamespace.mean_horizontals: 2zz"?"G95AMM   r(cfdfd }|j|tt|jS)NctgfdD}tj|djdgS)Nc3<K|]}|D]}|ywr"rFr|s r&r]z=DaskNamespace.min_horizontal..func..r}r~rr)rr;rminrs` r&rCz*DaskNamespace.min_horizontal..funcA0>U>FIIf1-11q19: :r(rnrMrprs ` r&min_horizontalzDaskNamespace.min_horizontal: ;zz"?"G95AMM   r(cfdfd }|j|tt|jS)NctgfdD}tj|djdgS)Nc3<K|]}|D]}|ywr"rFr|s r&r]z=DaskNamespace.max_horizontal..func..r}r~rr)rr;rmaxrs` r&rCz*DaskNamespace.max_horizontal..funcrr(rnrMrprs ` r&max_horizontalzDaskNamespace.max_horizontalrr(c dfd }|j|tdddtddd|jS)Nc2 Dcgc]}||D]}|}}}dt|g|D}t|g|Dcgc]}|j}} s=ttj|}tfd|j |d}|gSt ||Dcgc]\}}|j |dc}}^} } fd|ddD} ttjdt | | D| }|gScc}}wcc}wcc}}w)Nc3FK|]}|jtywr")astypestrrds r&r]z9DaskNamespace.concat_str..func..s"# s!c|z|zSr"rF)rr separators r&rIz8DaskNamespace.concat_str..func..sQ]Q->r(c3RK|]}|jddt yw)r)TF)metaN)mapr)r[nmrs r&r]z9DaskNamespace.concat_str..func..s+FF"Y7cFBs$'c3,K|] \}}||zywr"rF)r[revs r&r]z9DaskNamespace.concat_str..func..sFtq!QUFs)rrrrhrwwhereradd)r>r*rerrk null_masknull_mask_resultresultr init_valuevalues separatorsrlrmrs r&rCz&DaskNamespace.concat_str..funcs*+0D%%)DQADADLD'B2'U 'UF,Gr+YL+YZaZIZ#)(,, #B  >GMM%%t$8O3=VY2O').BAGGRC$'# V'n  LLFz*f'EF 8O5E['sDD(Dr_evaluate_output_namescdgSrErFrGs r&rIz*DaskNamespace.concat_str..s r(_alias_output_namesrnrMr*getattrr.)r%rrmrlrCs ``` r& concat_strzDaskNamespace.concat_strsR :zz")a24K# 'uQx1FMMM   r(cfdfd }|j|tt|jS)NcLtgfdD}td|gS)Nc3<K|]}|D]}|ywr"rFr|s r&r]z7DaskNamespace.coalesce..func..r}r~c$|j|Sr"rrs r&rIz6DaskNamespace.coalesce..func..s r()rrrs` r&rCz$DaskNamespace.coalesce..funcs00>U>F3V<= =r(rnrMrprs ` r&coalescezDaskNamespace.coalesces: > zz"?"G95AMM   r(Nc dfd }|j|tddtdd|jS)Nc|j }|jn}|j}td fn fDr@|j|j}|jj }|}.t |||\}}t |||j|gSt ||||\}}}t ||t |||j||gS)Nc3HK|]}|jjywr") _metadatais_scalar_like)r[rs r&r]z8DaskNamespace.when_then..func..s" **s ")_evaluate_single_output_exprr _with_nativeto_frame broadcastrrr) r> then_valueotherwise_value conditionnew_df then_seriesotherwise_series otherwise predicatethens r&rCz%DaskNamespace.when_then..funcs188>J(// :  77 BI!(%#T95 ););)=>;;I.:sYKr(rrnrMr)r%rrrrCs ``` r& when_thenzDaskNamespace.when_thensL" DHzz").0G# 't-BDIMM   r()rNr)rNztype[DaskExpr])rNztype[DaskLazyFrame])r/rrNNone)rBrr4zIntoDType | NonerNr)rNr)rlrrmrarNr)rlrrNr)rzIterable[DaskLazyFrame]rrrNr )rlrrrrmrarNrr")rrrrrzDaskExpr | NonerNr)__name__ __module__ __qualname__rDASKr __annotations__propertyr'r*r,r0rPrVrrrxrrrrrrrrrFr(r&rr$s'5&9&9O^9 ::  2   "    ","6B" "< $    ' ' +.' >B' ' R  QU. !. )1. >M. . r(r)1 __future__rrhrr functoolsr itertoolsrtypingrr dask.dataframe dataframer;pandasr7narwhals._compliantr r narwhals._dask.dataframer narwhals._dask.exprrnarwhals._dask.selectorsrnarwhals._dask.utilsrrrnarwhals._expression_parsingrrnarwhals._utilsrrcollections.abcrrdask.dataframe.dask_expr dask_exprdxrnarwhals.typingrrr DataFramerrFr(r&r s~"#&E2(: 72))'IIZ -2<<78=(23Z r(