L iUddlmZddlZddlZddlmZmZmZmZm Z ddl Z ddl m Z mZddlmZddlmZddlmZddlmZdd lmZdd lmZmZmZmZmZmZm Z m!Z!m"Z"dd l#m$Z$dd l%m&Z&m'Z'm(Z(m)Z)dd l*m+Z+m,Z,ddl-m.Z.erwddl/m0Z0m1Z1m2Z2m3Z3ddl4m5Z5ddl6Z7ddl8Z9ddl:Z;ddlZ>m?Z?ddl@mAZAddlBmCZCddlDmEZEddlFmGZGddlHmIZIddl%mJZJmKZKddlLmMZMddlNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZdZ[de\d<iddddd d!d"d!d#d$d%d$d&d'd(d'd)d*d+d*d,d-d.d-d/d0d1d0d2d3d4d3d5d6d6d7d7d8Z]idd6dd6d d6d"d6d#d6d%d6d&d6d(d6d)d6d+d6d,d6d.d6d/d6d1d6d2d6d4d6d5d6d6d7d7d8Z^Gd9d:e eZ_Gd;d) annotationsN) TYPE_CHECKINGAnyCallableLiteralcast) EagerSeriesEagerSeriesHistPandasLikeSeriesCatNamespace!PandasLikeSeriesDateTimeNamespace)PandasLikeSeriesListNamespacePandasLikeSeriesStringNamespace)PandasLikeSeriesStructNamespace) align_and_extract_nativeget_dtype_backendimport_array_modulenarwhals_to_native_dtypenative_to_narwhals_dtypeobject_native_to_narwhals_dtyperenameselect_columns_by_name set_index) assert_never)Implementation is_list_of no_default parse_version)is_numpy_array_1dis_pandas_like_series)InvalidOperationError)HashableIterableIteratorSequence) ModuleType)Self TypeAliasTypeIs)ChunkedArrayAny)HistDataPandasLikeDataFramePandasLikeNamespace) NoDefault)Version_LimitedContext)DType) ClosedIntervalFillNullStrategy Into1DArray IntoDTypeModeKeepStrategyNonNestedLiteral PythonLiteral RankMethodRollingInterpolationMethodSizedMultiIndexSelector_1DArray _SliceIndexz%HistData[pd.Series[Any], list[float]]r*PandasHistDataInt64int64zint64[pyarrow]Int32int32zint32[pyarrow]Int16int16zint16[pyarrow]Int8int8z int8[pyarrow]UInt64uint64zuint64[pyarrow]UInt32uint32zuint32[pyarrow]UInt16uint16zuint16[pyarrow]UInt8uint8zuint8[pyarrow]Float64float64float32)zfloat64[pyarrow]Float32zfloat32[pyarrow]ceZdZ ddZeddZddZddZddZddZ ddZ dd dd Z e d d d d  ddZ eddZe ddZe ddZe ddZeddZeddZedZ ddZddZddZddZdddZddZddZ ddZddZddZdd Z dd!Z!dd"Z"dd#Z#dd$Z$dd%Z%dd&Z&dd'Z'dd(Z(dd)Z)dd*Z*dd+Z+dd,Z,dd-Z-dd.Z.dd/Z/dd0Z0dd1Z1dd2Z2dd3Z3dd4Z4dd5Z5dd6Z6dd7Z7dd8Z8dd9Z9dd:Z:dd;Z;dd<ZZ>dd?Z?dd@Z@ddAZAddBZBddCZCddDZDddEZEddFZFddGZGddHZHddIZIddJZJddKZKddLZLddMZMddNZN ddOZOddPZPddQZQddRZR ddSZSddTZTddUZUdVdWddXZVddYZWddZZX dd[ZYdd\ZZdd]Z[dd^Z\dd d_dd`Z]ddaZ^ddbZ_ddcZ`dddZaddeZbddfZcddgZd ddhZe ddiZfddjZgddkZhddlZiddmZjddnZkddoZlddpZmddqZnddrZoddsZpddtZqdduZrddvZsddwZtddxZuddyZvddzZwdd{Zxdd|Zy dd}Zz dd~Z{ddZ|ddZ}ddZ~ddZ ddZ ddZddZddZddZeddZeddZeddZeddZeddZy )PandasLikeSeriesc^|j|_||_||_||_d|_y)NF)name_name_native_series_implementation_version _broadcast)self native_seriesimplementationversions b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/narwhals/_pandas_like/series.py__init__zPandasLikeSeries.__init__ps1#'' +-  c|jSN)r\r`s rdnativezPandasLikeSeries.native~s"""rfc|jjr|jjSdt|j}t |)Nz!Expected pandas/modin/cudf, got: )r]is_pandas_liketo_native_namespacetypeAssertionErrorr`msgs rd__native_namespace__z%PandasLikeSeries.__native_namespace__sL    . . 0'';;= =1$t7K7K2L1MNS!!rfcHddlm}||j|jS)Nrr0)narwhals._pandas_like.namespacer1r]r^)r`r1s rd__narwhals_namespace__z'PandasLikeSeries.__narwhals_namespace__sG"4#7#7GGrfct|tr t|n|}|j|jj |Srh) isinstancetuplelist _with_nativerjilocr`rowss rd_gatherzPandasLikeSeries._gathers6'e4tDz$  !1!1$!788rfc|j|jjt|j|j |j Srh)rzrjr{slicestartstopstepr|s rd _gather_slicezPandasLikeSeries._gather_slices<  KK  U4::tyy$))D E  rfcR|j|j|j|SN)rbrc) __class__rjr])r`rcs rd _with_versionzPandasLikeSeries._with_versions)~~ KK(<(z9PandasLikeSeries._align_full_broadcast..s  vq F s)rrZrrb)rrrrmaxziprrjr_r{rZrrzrr]append) rrrrlengths target_lengthidx reindexedrj compliants rd_align_full_broadcastz&PandasLikeSeries._align_full_broadcasts//188#)*a3q6** $'$8  W]]=1299??  (A||HHMM!$CaffAHHNNNN62 s*"188SARARSNN62    Y ' (%+sEc|jSrh)r[ris rdrZzPandasLikeSeries.names zzrfc|jj}|dk7r!t||j|jSt |j|j|jS)Nobject)rjrrr^r]r)r` native_dtypes rdrzPandasLikeSeries.dtypes\{{(( x' %\4==$BVBV W 1 T]]D,@,@ rfcDtrddl}|St|jSNr)rnumpyrr])r`nps rd _array_funcszPandasLikeSeries._array_funcss  I"4#7#788rfc ||j}|j} |jtjurI|dk(r|r| j s%|j |||||j} n3d} t| |j |||||||j} d| | <|j| S)Nr)comspanhalflifealphaadjustzscuDF only supports `ewm_mean` when there are no missing values or when both `min_period=0` and `ignore_nulls=False`) ignore_na) rjisnar]rCUDFanyewmmeanNotImplementedErrorrz) r`rr half_liferr min_samples ignore_nullssermask_narrqs rdewm_meanzPandasLikeSeries.ewm_meanskk((*   >#6#6 6q w{{}$%PV!$& K*#..WWT9e[&Ldf w  ((rfc:t||jr9t|j|jj||j }|jj d}||j|<|j|_|j|S)NrT)deep) rwrrrjrr]rr{rZrz)r`indicesvaluesrs rdscatterzPandasLikeSeries.scatters~ fdnn -  !!'*#33F KK  $  ' w  ##rfc|j}|j}t|j|jj|j|}|t j ur"ttdkr|j}d}|t j ur3||kr.||jj|jj<y||jj|j<y)Nr))r) r]_backend_versionrrjrrPANDASr rrr{r)r`rrrbbackend_version values_nativemin_pd_versions rd_scatter_in_placez"PandasLikeSeries._scatter_in_place#s--//! MM KK  gnn -) ^22 2}R7H47O)..0M ^22 27W6CDKK  W^^22 3/?EEdiiPPrfcbt|jr|jjdSdSrrrjr{ris rdfirstzPandasLikeSeries.firsts'&)$++&6t{{"@D@rfcbt|jr|jjdSdS)Nrris rdlastzPandasLikeSeries.lasts''*4;;'7t{{#ATArfct||\}}|jxr t|dd}|j||||j |j S)Nr_Tr)rr_getattrrzrrZ)r`oprrrrs rd _with_binaryzPandasLikeSeries._with_binarys^4T5A\!__S d1S  sL !6H! %  rfc`|jfd|j|jS)Nc||Srh)xyrs rdz5PandasLikeSeries._with_binary_right..s bAhrf)r rrZ)r`rrs ` rd_with_binary_rightz#PandasLikeSeries._with_binary_rights&  !6>DDTYYOOrfcB|jtj|Srh)r operatoreqrs rd__eq__zPandasLikeSeries.__eq__  e44rfcB|jtj|Srh)r r)ners rd__ne__zPandasLikeSeries.__ne__r,rfcB|jtj|Srh)r r)rrs rd__ge__zPandasLikeSeries.__ge__r,rfcB|jtj|Srh)r r)rrs rd__gt__zPandasLikeSeries.__gt__r,rfcB|jtj|Srh)r r)rrs rd__le__zPandasLikeSeries.__le__r,rfcB|jtj|Srh)r r)rrs rd__lt__zPandasLikeSeries.__lt__r,rfcB|jtj|Srh)r r)and_rs rd__and__zPandasLikeSeries.__and__s  66rfcB|jtj|Srh)r'r)r9rs rd__rand__zPandasLikeSeries.__rand__s&&x}}e<rs rd__ror__zPandasLikeSeries.__ror__&&x||U;;rfcB|jtj|Srh)r r)addrs rd__add__zPandasLikeSeries.__add__r@rfcB|jtj|Srh)r'r)rErs rd__radd__zPandasLikeSeries.__radd__rCrfcB|jtj|Srh)r r)subrs rd__sub__zPandasLikeSeries.__sub__r@rfcB|jtj|Srh)r'r)rJrs rd__rsub__zPandasLikeSeries.__rsub__rCrfcB|jtj|Srh)r r)mulrs rd__mul__zPandasLikeSeries.__mul__r@rfcB|jtj|Srh)r'r)rOrs rd__rmul__zPandasLikeSeries.__rmul__rCrfcB|jtj|Srh)r r)truedivrs rd __truediv__zPandasLikeSeries.__truediv__s  !1!1599rfcB|jtj|Srh)r'r)rTrs rd __rtruediv__zPandasLikeSeries.__rtruediv__s&&x'7'7??rfcB|jtj|Srh)r r)floordivrs rd __floordiv__zPandasLikeSeries.__floordiv__s  !2!2E::rfcB|jtj|Srh)r'r)rYrs rd __rfloordiv__zPandasLikeSeries.__rfloordiv__s&&x'8'8%@@rfcB|jtj|Srh)r r)powrs rd__pow__zPandasLikeSeries.__pow__r@rfcB|jtj|Srh)r'r)r^rs rd__rpow__zPandasLikeSeries.__rpow__rCrfcB|jtj|Srh)r r)modrs rd__mod__zPandasLikeSeries.__mod__r@rfcB|jtj|Srh)r'r)rcrs rd__rmod__zPandasLikeSeries.__rmod__rCrfc:|j|jSrh)rzrjris rd __invert__zPandasLikeSeries.__invert__s  $++..rfc6|jjSrh)rjrris rdrzPandasLikeSeries.any{{  rfc6|jjSrh)rjallris rdrlzPandasLikeSeries.allrjrfc6|jjSrh)rjminris rdrnzPandasLikeSeries.minrjrfc6|jjSrh)rjrris rdrzPandasLikeSeries.maxrjrfc6|jjSrh)rjsumris rdrqzPandasLikeSeries.sumrjrfc6|jjSrh)rjcountris rdrszPandasLikeSeries.counts{{  ""rfc6|jjSrh)rjrris rdrzPandasLikeSeries.means{{!!rfc|jjs d}t||jj S)Nz<`median` operation not supported for non-numeric input type.)r is_numericr#rjmedianrps rdrwzPandasLikeSeries.medians5zz$$&PC', ,{{!!##rfc:|jj|SNddof)rjstdr`r{s rdr|zPandasLikeSeries.std{{D))rfc:|jj|Sry)rjvarr}s rdrzPandasLikeSeries.varr~rfcF|jj}t|dk(ryt|dk(r tdSt|dk(ry||j z }|dzj }|dzj }|dk7r||dzz StdS)Nrrnanrgg?rjdropnarfloatr)r` ser_not_nullmm2m3s rdskewzPandasLikeSeries.skews{{))+ |  ! |  !<  |  ! <,,. .d[[]d[[]!#qrRW~:eEl:rfc.|jj}t|dk(ryt|dk(r tdS||j z }|dzj }|dzj }|dk7r ||dzz dz StdS)Nrrrrg@r)r`rrrm4s rdkurtosiszPandasLikeSeries.kurtosiss{{))+ |  ! |  !<  <,,. .d[[]d[[]%'1WrRU|c!>%,>rfc,t|jSrh)rrjris rdrzPandasLikeSeries.lens4;;rfcX|j|jjdS)NTr)rzrjrris rdis_nullzPandasLikeSeries.is_null$s%  !1!1!3 MMrfc|j}|jjsd|jd}t||j ||k7dS)Nz3`.is_nan` only supported for numeric dtype and not z, did you mean `.is_null`?Tr)rjrrvr#rz)r`rrqs rdis_nanzPandasLikeSeries.is_nan'sSkkzz$$&G |SmnC', ,   EErfc|j}|jtjur|jdkrddini}t j 5t jddt|5t||\}}|j|jd d|i|d }n>|j|d k(r|jd d |i|n|jd d |i|d }ddd|S#1swYSxYw) NrdowncastFignorez&The 'downcast' keyword .*is deprecated)categoryvalueTrforwardlimitr#)rjr]rrrwarningscatch_warningsfilterwarnings FutureWarningrrzfillnaffillbfill) r`rstrategyrrkwargsr native_valueres_sers rd fill_nullzPandasLikeSeries.fill_null/s kk##~'<'<<%%,    $ $ &   # #B]  ":4"G<++CJJ<\ Uniques are returned in order of appearance. r)rzrnrjuniquerZ)r`rs rdrzPandasLikeSeries.uniqueys9   !2dkk!24;;3E3E3Gdii!XYYrfcT|j|jjSrh)rzrjdiffris rdrzPandasLikeSeries.diffs   !1!1!344rfcV|j|jj|Srh)rzrjshiftr`rs rdrzPandasLikeSeries.shifts"  !2!21!566rfcH|j}|j}|j}|j}t |j |} |rt || ||jnd} |j|j|} | dk\} |j|| |j} || | j| } | j|j| | d}|j|_|t ury|j#| z}|j%rB|j'||j)dj+}d|}t-||j| d}n!t/||\}}|j| |}|j'|S)Nr)rrZ)rFrzYreplace_strict did not replace all non-null values. The following did not get replaced: )rrrrjr]rrrr^Index get_indexerrrZconvert_dtypesr{whererrnotnarrzrrr#r)r`defaultoldnew return_dtype namespace array_funcsrjimplrridxs was_matched new_series native_resultunmatched_maskunmatched_valuesrqrdefault_natives rdreplace_strictzPandasLikeSeries.replace_stricts--/ '' ##)&,,=  %\=$ V s#//7ai %%cTYY%G  M$=#222OJ# (9(9+tQ(OP $ll  j #\\^ |#8#8 8;;    >#6#6 6;;((* *   >#7#7 7;;))+ +()=)=(>?S!!rfcJddl}|j|jSr)polars from_pandasr)r`pls rd to_polarszPandasLikeSeries.to_polarssr~~dnn.//rfc|j|jjdj|jS)NFkeeprzrj duplicatedrrZris rd is_uniquezPandasLikeSeries.is_uniques7  $++"8"8e"8"D!DEKKDIIVVrfcR|jjjSrh)rjrrqris rd null_countzPandasLikeSeries.null_counts{{!%%''rfc|j|jjdj|jS)Nrrr ris rdis_first_distinctz"PandasLikeSeries.is_first_distincts7  $++"8"8g"8"F!FGMMdiiXXrfc|j|jjdj|jS)Nrrr ris rdis_last_distinctz!PandasLikeSeries.is_last_distincts7  $++"8"8f"8"E!EFLLTYYWWrfct|tsdt|}t||r|jj S|jj S)Nz/argument 'descending' should be boolean, found )rwrrn TypeErrorrjis_monotonic_decreasingis_monotonic_increasing)r`rrqs rd is_sortedzPandasLikeSeries.is_sortedsK*d+CDDTCUVCC. ;;66 6{{222rfcddlm}|jdn |j}|xs|rdnd}|jj dd|j }||g|_|r|j|d}|j|| S) z-Parallel is unused, exists for compatibility.rr.r proportionrsF)rr normalize)rr) rr/r[rj value_counts reset_indexcolumnsrr) r`rparallelrZrr/ index_name_ value_name_ val_counts rdrzPandasLikeSeries.value_countss H!%!3g Fy|g KK,,u - +- )+6  !--kU-KI."..y$GGrfc<|jj||S)N)q interpolation)rjquantile)r`r%r$s rdr%zPandasLikeSeries.quantiles{{##hm#LLrfc|j}t||\}}t||\}}|j||}|j|Srh)rjrrrz)r`rrrrrs rdzip_withzPandasLikeSeries.zip_with sLkk*464+D%85iie$  %%rfcV|j|jj|Srh)rzrjheadrs rdr)zPandasLikeSeries.head'"  !1!1!!455rfcV|j|jj|Srh)rzrjtailrs rdr,zPandasLikeSeries.tail*r*rfcX|j|jj|S)N)decimals)rzrjround)r`r.s rdr/zPandasLikeSeries.round-s%  !2!2H!2!EFFrfc|j}t|}|j}t|j|dk(rddlm}ddlm}|jj}td|j|}||j|j}t|d|j|j} ||| |j|j } nX|j"} | j|j}|j%r|||j|j n|} |j'| SNrpyarrowr)rr,)rrrZ)rrZ)rjrnr]rrpyarrow.computecomputenarwhals._arrow.utilsrr _pa_arrayrfloorr^rrrZrrrz r`rj native_clsrbpcrca result_arrnw_dtype out_dtype result_nativers rdr7zPandasLikeSeries.floor0s &\ -- V\\. IY V ( F''B/">J/ OH0)T%9%94==I')6<5+D+>5##04 &!R~~u%fou=u%fou=  UE!DV!DEErfc0t||\}}|j}|jrddini}|j}|j s(|j |r|j ||k\|}d}|j|j|fi|SrUrW)r`rrrZrrrs rd clip_lowerzPandasLikeSeries.clip_lowers+D+>5##04 &!R~~DOOE$:\\&E/59FE  U!=f!=>>rfc2t||\}}|j}|jrddini}|j}|j s(|j |r|j ||k|}d}|j|jdd|i|S)NrVrr[r#rW)r`rrr[rrrs rd clip_upperzPandasLikeSeries.clip_uppers+D+>5##04 &!R~~DOOE$:\\&E/59FE  !C5!CF!CDDrfc|jtjur|jj Sddl}|j j|jSr)r]rrrjrr2Arrayr)r`pas rdrzPandasLikeSeries.to_arrowsE   >#6#6 6;;'') )xx##DKK00rfc|jj}|j|_|j|dk(r|j dS|S)Nrr)rjmoderZrzr))r`r rs rdrdzPandasLikeSeries.modesF!!#ii   45=QMMfMMrfc|jj}|s|jn!t||jz |zdz }|j |SNr)rjrrrrz)r`r not_na_seriesrs rd cum_countzPandasLikeSeries.cum_countsa))++   "T]1133mCaG    ((rfc|s|jjdn'|jdddjdddd}|j|Sr)rjcumminrzrs rdcum_minzPandasLikeSeries.cum_minrrfc|s|jjdn'|jdddjdddd}|j|Sr)rjcummaxrzrs rdcum_maxzPandasLikeSeries.cum_maxrrfc|s|jjdn'|jdddjdddd}|j|Sr)rjcumprodrzrs rdcum_prodzPandasLikeSeries.cum_prods] KK  t  ,TrT"**$*7"=    ((rfc||jj|||j}|j|SNwindow min_periodscenter)rjrollingrqrzr` window_sizerrwrs rd rolling_sumzPandasLikeSeries.rolling_sums?$$K% #%   ((rfc||jj|||j}|j|Srs)rjrxrrzrys rd rolling_meanzPandasLikeSeries.rolling_means?$$K% $&   ((rfc|jj|||j|}|j|SNrtrz)rjrxrrzr`rzrrwr{rs rd rolling_varzPandasLikeSeries.rolling_varE$$K% #4#.   ((rfc|jj|||j|}|j|Sr)rjrxr|rzrs rd rolling_stdzPandasLikeSeries.rolling_stdrrfc#TK|jjEd{y7wrh)rj__iter__ris rdrzPandasLikeSeries.__iter__s;;'')))s (&(c|(|jjjS|j|k(jSrh)rjrrrs rd __contains__zPandasLikeSeries.__contains__s9+0=t{{!%%'Zt{{e?S>X>X>ZZrfcr|j}|j|tdkD|tdkzS)Nz-infinf)rjrzr)r`rs rd is_finitezPandasLikeSeries.is_finite s3 KK  !eFm"3E%L8H!IJJrfc:|dk(rdn|}|j}|jtjur;|jdkr+t |j j|jdk(r|jjr|jx}jr|d}|j}|jj|jj|j!|j }|j#|j%|j'|d| dj(ddd fj!|jS|j#|j j'|d| dS) Nordinalrrnumpy_nullable_is_nullr F)method na_optionrpctr)rZr]rrrrrjr is_integerrrrur with_columns_expr _from_seriesrrzgroupbyrankr{) r`rr pd_methodrZ null_mask mask_namerJdfs rdrzPandasLikeSeries.rankso%2G yy  N$9$9 9%%,!$++"3"3T5I5IJ  %%'"lln,113  &)I--/C cii44Y?EEiPQ  $$ 9%$$",n  ad eDII   KK   F*nRW    rfcjtj||j|jSN)include_breakpoint) _PandasHist from_series with_binsr)r`binsrs rdhist_from_binszPandasLikeSeries.hist_from_bins3s-  # #D=O # P Yt_ XZ rfcjtj||j|jSr)rrwith_bin_countr)r` bin_countrs rdhist_from_bin_countz$PandasLikeSeries.hist_from_bin_count<s.  # #D=O # P ^I & XZ rfc|j}t|}|j}t|j|dk(rddlm}ddlm}|jj}td|j||}||j|j} t| d|j|j} ||| |j|j } n`|j"} | j%|| j%|z }|j'r|||j|j n|} |j)| Sr1)rjrnr]rrr3r4r5rrr6rlogbr^rrrZrlogrrz) r`baserjr9rbr:rr;r<r=r>r?rs rdrzPandasLikeSeries.logEs&\ -- V\\. IY V ( F''B/T1BCJ/ OH0)T%9%94==I')6<r?s rdrzPandasLikeSeries.expcs&\ -- V\\. IY V ( F''B/Series must be of PyArrow List type to support list namespace.)hasattrrjrrrps rdryzPandasLikeSeries.lists*t{{F+RCC. ,T22rfc^t|jds d}t|t|S)NstructzBSeries must be of PyArrow Struct type to support struct namespace.)rrjrrrps rdrzPandasLikeSeries.structs*t{{H-VCC. .t44rf)rarrbrrcr3returnNone)rr)rr()rr1)r}z'SizedMultiIndexSelector[pd.Series[Any]]rr))r}z_SliceIndex | rangerr))rcr3rr))rrrrrr)) rz Iterable[Any]rr4rZrrIntoDType | Nonerrrr))rrrz TypeIs[Any])rrrr4rr))rr8rr4rr))rr)rzSequence[Self])rr)rr5)r float | Nonerrrrrrrrrintrrrr))rzint | Sequence[int]rrrr))rr)rr)rr)rr9rr)rh)r int | Nonerrrr/)rz list[Any])rrrrrr6rr))rrrr))rr))rr)rrrr))rr<)rzCallable[..., PandasLikeSeries]rrrr))rrrr)rr)rr)r{rrr)rr)rzSelf | NonNestedLiteralrzFillNullStrategy | Nonerrrr))rrrr)) rrrrrrrrrr))rrrr))rrrr))rrrr)) rzPandasLikeSeries | NoDefaultr Sequence[Any]rrrrrrX)rrrrrrX)rZzstr | Hashablerr))rrrz bool | Nonerr@)rpd.Series[Any])rz pl.Series)rrrr) rrrrrZz str | Nonerrrr/)r%rr$r>rr)rrrrrr))r.rrr))rIrrFrrr/)rrrRrrr))rr)rr)rr))rr)rr))rr)rr))rz pa.Array[Any])r r:rr))rzrrrrwrrr)) rzrrrrwrr{rrr))rz Iterator[Any])rrrr)rr=rrrr))r list[float]rrrr/)rrrrrr/)rrrr))rr)rr)rr )rr)rr)__name__ __module__ __qualname__repropertyrjrrrur~rrrz classmethodr staticmethodrrrrrZrrrrrrrrrrrr r rrrrr r'r+r/r1r3r5r7r:r<r?rBrFrHrKrMrPrRrUrWrZr\r_rardrfrhrrlrnrrqrsrrwr|rrrrrrrrrrrrrrrrrrrrrrrr rrrrrr%r'r)r,r/r7rArPrSrYr]r_rrdrhrkrnrqr{r}rrrrrrrrrrrrrrryrr#rfrdrXrXos     5C  NU    ##"H 9  GL "&TT! T  T  TT TT,**[[88 ,  99)) )  )  )))) )> $=" X ' X66-06:H6 6$:)$$ QABP5555557=6<6<6<6<:@;A6<6< / !!!!!#"$ ** ; ? NF&*   > N71             4)04Z5750-5050 50 ' 50 50n 5 11$"0 W(YX3HH'+H3=HJNH H&MM.HM M &66G0808E:>F( ? E1N ))))) ) ))03)=A)IL) )))03)=A)IL) )*[K# J  8<    59  0<0:755772233 55rfrXceZdZUded<ddZddZddZddZddd  dd Zd d  dd Z ddZ ddZ y)rrX_seriesc|jjjj}|jj j }|||j |jS)Nr)rru _dataframerrr DataFrame_data)r`rrs rdrz_PandasHist.to_framesRll99;FFRR LL557AA 9TZZ0$,,GGrfc<|jjdkSrf)rrsris rdis_empty_seriesz_PandasHist.is_empty_seriess||!!#a''rfcl|j|}|jr|j||dSd|iS)N breakpointrsrs)_zeros _breakpoint_calculate_breakpoint)r`argrss rd series_emptyz_PandasHist.series_emptys: C    "&"<" SLE SLE!!% A >>rfc|j|}|jddj|jjd}|j dd|j r|dd|dSd |iS) NTF)rrr) fill_value)droprrrrs)rrreindexr categoriesrr)r`rrrss rd_calculate_histz_PandasHist._calculate_histsYYt_ ''t%'@HH NN % %!I  tT2   "&qr(U; ;rfrr)rint | list[float]rrB)rrrr@)rlist[float] | _1DArrayrzSequence[str] | NonerzLiteral['left', 'right']rr) rrrrrrrzLiteral['both', 'none']rr@)rrrr@)rrrrB) rrr__annotations__rrrrrrrrr#rfrdrrs H (  K(,+2  & %  )    .+1        (     ?  rfr)rr)a __future__rr)rtypingrrrrrrrnarwhals._compliantr r narwhals._pandas_like.series_catr narwhals._pandas_like.series_dtr!narwhals._pandas_like.series_listr narwhals._pandas_like.series_strr#narwhals._pandas_like.series_structrnarwhals._pandas_like.utilsrrrrrrrrrnarwhals._typing_compatrnarwhals._utilsrrrr narwhals.dependenciesr!r"narwhals.exceptionsr#collections.abcr$r%r&r'typesr(pandaspdrrr2rbtyping_extensionsr)r*r+narwhals._arrow.typingr,narwhals._compliant.seriesr-rr/rtr1narwhals._typingr2r3r4narwhals.dtypesr5narwhals.typingr6r7r8r9r:r;r<r=r>r?r@rArBrrrrXrr#rfrdr s">><IMKLO   1QQJ5FF 9963CC*8%    !HNIG$ W$g$ W$g $  W $ g $ F$V$ h$x$ h$x$ h$x$ W$ g!$"y#$$"!)$ ,! Y!i! Y!i !  Y ! i ! I!Y! i!y! i!y! i!y! Y! i!!"y#!$"!)!0l5{3'l5^!J /"ABJ rf