
    h                       S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S S	K
rS S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ r   S SK!J"r"  S SK!J#r#  S SK$J%r%  S SK&J'r'  S SK&J(r(  S SK&J)r)  S SK&J*r*  S SK&J+r+  \(       a  S S K,J-r-  S S!KJ.r.  S S	K/r0S S	K1r2S S"K3J4r4  S S#K3J5r5  S S$K6J7r7  S S%K8J9r9  S S&K:J;r;  S S'K<J=r=  S S(K>J?r?  S S)K>J@r@  S S*K>JArA  S S+K>JBrB  S S,K>JCrC  S S-K>JDrD  S S.K>JErE  S S/K>JFrF  S S0K>JGrG  S S1K>JHrH  S S2K>JIrI  S S3K>JJrJ  S S4K&JKrK  S S5K&JLrL  0 S6S7_S8S7_S9S:_S;S:_S<S=_S>S=_S?S@_SAS@_SBSC_SDSC_SESF_SGSF_SHSI_SJSI_SKSL_SMSL_SNSO_SOSPSPSQ.ErM0 S6SO_S8SO_S9SO_S;SO_S<SO_S>SO_S?SO_SASO_SBSO_SDSO_SESO_SGSO_SHSO_SJSO_SKSO_SMSO_SNSO_SOSPSPSQ.ErN " SR SS\\   5      rOg	)T    )annotations)TYPE_CHECKING)Any)Iterable)Iterator)Mapping)Sequence)castN)EagerSeriesPandasLikeSeriesCatNamespace!PandasLikeSeriesDateTimeNamespace)PandasLikeSeriesListNamespacePandasLikeSeriesStringNamespace)PandasLikeSeriesStructNamespace)align_and_extract_native)get_dtype_backend)narwhals_to_native_dtype)native_to_narwhals_dtype)object_native_to_narwhals_dtype)rename)select_columns_by_name)	set_index)is_numpy_array_1dis_pandas_like_series)InvalidOperationError)Implementation)import_dtypes_module)
is_list_of)parse_version)validate_backend_version)
ModuleType)Hashable)Self)TypeIs)
ArrowArrayPandasLikeDataFramePandasLikeNamespace)DType)ClosedInterval)FillNullStrategy)Into1DArray)NonNestedLiteral)NumericLiteral)
RankMethod)RollingInterpolationMethod)SizedMultiIndexSelector)TemporalLiteral)_1DArray)
_AnyDArray)_SliceIndex)Version)_FullContextInt64int64zint64[pyarrow]Int32int32zint32[pyarrow]Int16int16zint16[pyarrow]Int8int8zint8[pyarrow]UInt64uint64zuint64[pyarrow]UInt32uint32zuint32[pyarrow]UInt16uint16zuint16[pyarrow]UInt8uint8zuint8[pyarrow]Float64float64float32)zfloat64[pyarrow]Float32zfloat32[pyarrow]c                  &   \ rS rSr          S}S jr\S~S j5       rSS jrSS jrSS jr	SS jr
SS jrS	S
.SS jjr\SSSS.           SS jj5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r                SS jrSS jrSS jrSS jrSS jrSS jrSS jr        SS jrSS jrSS jrSS jrSS  jr SS! jr!SS" jr"SS# jr#SS$ jr$SS% jr%SS& jr&SS' jr'SS( jr(SS) jr)SS* jr*SS+ jr+SS, jr,SS- jr-SS. jr.SS/ jr/SS0 jr0SS1 jr1SS2 jr2SS3 jr3SS4 jr4SS5 jr5SS6 jr6SS7 jr7SS8 jr8SS9 jr9SS: jr:SS; jr;SS< jr<S~S= jr=S~S> jr>SS? jr?SS@ jr@SSA jrASSB jrBSSC jrCSSD jrDSSE jrESSF jrFSSG jrGSSH jrH        SSI jrISSJ jrJSSK jrK          SSL jrLSSM jrMSSN jrNSSO jrOSSP jrPSSQ jrQ        SSR jrRSSS jrSSST jrTSSU jrUSSSV.SSW jjjrVSSX jrWSSY jrXSSZ jrYSS[ jrZSS\ jr[SS] jr\SS^ jr]          SS_ jr^      SS` jr_SSa jr`SSb jraSSc jrbSSd jrcSSe jrdSSf jre      SSg jrfSSh jrgSSi jrhSSj jriSSk jrjSSl jrkSSm jrlSSn jrmSSo jrn          SSp jro          SSq jrpSSr jrqSSs jrrSSt jrsSSu jrt        SSv jru\SSw j5       rv\SSx j5       rw\SSy j5       rx\SSz j5       ry\SS{ j5       rzS|r{g)PandasLikeSeriesn   c                   UR                   U l        Xl        X l        X0l        X@l        [        U R                  U R                  5        SU l        g )NF)name_name_native_series_implementation_backend_version_versionr$   
_broadcast)selfnative_seriesimplementationbackend_versionversions        N/var/www/html/env/lib/python3.13/site-packages/narwhals/_pandas_like/series.py__init__PandasLikeSeries.__init__o   sG     #''
+- / !5!5t7L7LM      c                    U R                   $ N)rW   r\   s    ra   nativePandasLikeSeries.native   s    """rd   c                    U R                   R                  5       (       a  U R                   R                  5       $ S[        U R                   5       3n[	        U5      e)Nz!Expected pandas/modin/cudf, got: )rX   is_pandas_liketo_native_namespacetypeAssertionErrorr\   msgs     ra   __native_namespace__%PandasLikeSeries.__native_namespace__   sO    ..00'';;==1$t7K7K2L1MNS!!rd   c                ^    SSK Jn  U" U R                  U R                  U R                  5      $ )Nr   r,   )narwhals._pandas_like.namespacer-   rX   rY   rZ   )r\   r-   s     ra   __narwhals_namespace__'PandasLikeSeries.__narwhals_namespace__   s)    G"  $"7"7
 	
rd   c                    [        U[        5      (       a  [        U5      OUnU R                  U R                  R
                  U   5      $ rf   )
isinstancetuplelist_with_nativerh   ilocr\   rowss     ra   _gatherPandasLikeSeries._gather   s9    'e44tDz$  !1!1$!788rd   c                    U R                  U R                  R                  [        UR                  UR
                  UR                  5         5      $ rf   )r{   rh   r|   slicestartstopstepr}   s     ra   _gather_slicePandasLikeSeries._gather_slice   s<      KKU4::tyy$))DE
 	
rd   c                b    U R                  U R                  U R                  U R                  US9$ N)r^   r_   r`   )	__class__rh   rX   rY   )r\   r`   s     ra   _with_versionPandasLikeSeries._with_version   s4    ~~KK// 11	  
 	
rd   Fpreserve_broadcastc                   U R                  UU R                  U R                  U R                  S9nU(       a  U R                  Ul        U$ r   )r   rX   rY   rZ   r[   )r\   seriesr   results       ra   r{   PandasLikeSeries._with_native   sG    // 11MM	   
  $Frd    N)rU   dtypeindexc               H   UR                   nUR                  nUR                  nUR                  5       n	0 n
U(       a  [	        US XgU5      U
S'   O1UR                  5       (       a  SU
S'   Ub  [        U5      (       a  XZS'   U R                  U	R                  " U4SU0U
D6US9$ )Nr   Fcopyr   rU   context)	rX   rY   rZ   rl   r   	is_pandaslenfrom_nativeSeries)clsdatar   rU   r   r   r^   r_   r`   nskwdss              ra   from_iterablePandasLikeSeries.from_iterable   s     !00!22""//1!4t^gDM ''))$V SZZ %WryyADADA7SSrd   c                    [        U 5      $ rf   r   )objs    ra   
_is_nativePandasLikeSeries._is_native   s    $S))rd   c              P    U " UUR                   UR                  UR                  S9$ r   )rX   rY   rZ   )r   r   r   s      ra   r   PandasLikeSeries.from_native   s-    "22#44$$	
 	
rd   c                  UR                   n[        U5      (       a  UOU/nUR                  5       R                  USS9nU R	                  XRS9$ )Nr   rU   r   )rX   r   rl   r   r   )r   r   r   r^   arrrh   s         ra   
from_numpyPandasLikeSeries.from_numpy   sO     00'--dD6335<<Sr<Jv77rd   c                    U R                   $ rf   )rV   rg   s    ra   rU   PandasLikeSeries.name   s    zzrd   c                    U R                   R                  nUS:w  a   [        XR                  U R                  5      $ [        U R                   U R                  U R                  5      $ )Nobject)rh   r   r   rZ   rX   r   )r\   native_dtypes     ra   r   PandasLikeSeries.dtype   sZ    {{(( x' %\==$BVBVW	
 1T]]D,@,@	
rd   c          
     |   U R                   nUR                  5       n	U R                  [        R                  L aO  US:X  a  U(       a  U	R                  5       (       d   UR                  XX4US9R                  5       n
O-Sn[        U5      eUR                  XX4XeUS9R                  5       n
S X'   U R                  U
5      $ )Nr   )comspanhalflifealphaadjustzscuDF only supports `ewm_mean` when there are no missing values or when both `min_period=0` and `ignore_nulls=False`)	ignore_na)
rh   isnarX   r    CUDFanyewmmeanNotImplementedErrorr{   )r\   r   r   	half_lifer   r   min_samplesignore_nullssermask_nar   rp   s               ra   ewm_meanPandasLikeSeries.ewm_mean   s     kk((*>#6#66q w{{}}PV ! $& 
K  *#..WW9[L  df    ((rd   c                J   [        X R                  5      (       aA  [        UR                  U R                  R                  U   U R
                  U R                  S9nU R                  R                  SS9nX#R                  U'   U R                  Ul	        U R                  U5      $ )Nr^   r_   T)deep)rx   r   r   rh   r   rX   rY   r   r|   rU   r{   )r\   indicesvaluesss       ra   scatterPandasLikeSeries.scatter  s    fnn--!!'*#33 $ 5 5	F KK$' w  ##rd   c                   [        UR                  U R                  R                  UR                     U R                  U R                  S9nU R                  [
        R                  L a#  [        [        5      S:  a  UR                  5       nSnU R                  [
        R                  L a=  U R                  U:  a-  X0R                  R                  UR                  R                  '   g X0R                  R                  UR                  '   g )Nr   )   )   r   )r   rh   r   rX   rY   r    PANDASr#   npr   r|   r   )r\   r   r   values_nativemin_pd_versions        ra   _scatter_in_place"PandasLikeSeries._scatter_in_place  s    !MMKKgnn-// 11	
 >#8#88]2=NQU=U)..0M  N$9$99%%66CKKW^^223/<KKW^^,rd   c                    [        U[        U R                  R                  U R                  5      U R                  U R
                  U R                  S9nU R                  U R                  R                  U5      SS9$ )N)dtype_backendr^   r_   r`   Tr   )	r   r   rh   r   rX   rY   rZ   r{   astype)r\   r   pd_dtypes      ra   r
   PandasLikeSeries.cast.  sj    ++DKK,=,=t?S?ST// 11MM
   !3!3H!=RV WWrd   c                    UcB  [        U 5      S:w  a  S[        U 5       S3n[        U5      eU R                  R                  S   $ U R                  R                  U   $ )Nr   zlcan only call '.item()' if the Series is of length 1, or an explicit index is provided (Series is of length )r   )r   
ValueErrorrh   r|   )r\   r   rp   s      ra   itemPandasLikeSeries.item8  sf    =4yA~NNQRVi[XY[  !o%;;##A&&{{&&rd   c                    SSK Jn  U" U R                  R                  5       U R                  U R
                  U R                  SS9$ )Nr   r*   F)r^   r_   r`   validate_column_names)narwhals._pandas_like.dataframer+   rh   to_framerX   rY   rZ   )r\   r+   s     ra   r   PandasLikeSeries.to_frameD  s>    G"KK  "// 11MM"'
 	
rd   c                    U R                   R                  5       nU(       a(  U R                  R                  5       R	                  5       $ U R                  R                  5       $ rf   )rX   is_cudfrh   to_arrow	to_pylistto_list)r\   r   s     ra   r   PandasLikeSeries.to_listO  sF    &&..05<t{{##%//1W$++BUBUBWWrd   c                   U R                   n[        X5      u  pQ[        X5      u  pRUS:X  a$  UR                  U5      UR                  U5      -  nOUS:X  a$  UR	                  U5      UR                  U5      -  nOZUS:X  a$  UR	                  U5      UR                  U5      -  nO0US:X  a$  UR                  U5      UR                  U5      -  nO[        eU R                  U5      R                  UR                  5      $ )Nleftrightnoneboth)
rh   r   geltgtlern   r{   aliasrU   )r\   lower_boundupper_boundclosedr   _ress          ra   
is_betweenPandasLikeSeries.is_betweenS  s     kk1$D1$DV&&%{(;;Cw&&%{(;;Cv&&%{(;;Cv&&%{(;;C    %++CHH55rd   c                V    U R                  U R                  R                  U5      5      $ rf   )r{   rh   isinr\   others     ra   is_inPandasLikeSeries.is_ine  s"      !1!1%!899rd   c                    U R                   nUR                  [        [        U5      5      UR                  UR
                  S9R                  U   nU R                  U5      $ )N)rU   r   )rh   r   ranger   rU   r   locr{   )r\   r   r   s      ra   arg_truePandasLikeSeries.arg_trueh  sL    kkuSXSXXSYYOSSTWX  ((rd   c                    U R                   [        R                  L a8  U R                  S:  a(  U R                  R                  5       R                  5       $ U R                  R                  5       $ Nr   )rX   r    r   rY   rh   to_numpyargminrg   s    ra   arg_minPandasLikeSeries.arg_minm  sS    >#8#88T=R=RUY=Y;;'')0022{{!!##rd   c                    U R                   nU R                  [        R                  L a.  U R                  S:  a  UR                  5       R                  5       $ UR                  5       $ r  )rh   rX   r    r   rY   r  argmax)r\   r   s     ra   arg_maxPandasLikeSeries.arg_maxr  sN    kk>#8#88T=R=RUY=Y<<>((**zz|rd   c                    [        U[        5      (       d  [        X5      u  p#OUnU R                  U R                  R
                  U   5      R                  U R                  5      $ rf   )r"   boolr   r{   rh   r  r   rU   )r\   	predicater   other_natives       ra   filterPandasLikeSeries.filterz  sO    )T**6tGOA|$L  !>?EEdiiPPrd   c                t    [        X5      u  p!U R                  X!:H  5      R                  U R                  5      $ rf   r   r{   r   rU   r\   r  r   s      ra   __eq__PandasLikeSeries.__eq__  0    -d:
  .44TYY??rd   c                t    [        X5      u  p!U R                  X!:g  5      R                  U R                  5      $ rf   r  r  s      ra   __ne__PandasLikeSeries.__ne__  r!  rd   c                t    [        X5      u  p!U R                  X!:  5      R                  U R                  5      $ rf   r  r  s      ra   __ge__PandasLikeSeries.__ge__  r!  rd   c                t    [        X5      u  p!U R                  X!:  5      R                  U R                  5      $ rf   r  r  s      ra   __gt__PandasLikeSeries.__gt__  0    -d:
  -33DII>>rd   c                t    [        X5      u  p!U R                  X!:*  5      R                  U R                  5      $ rf   r  r  s      ra   __le__PandasLikeSeries.__le__  r!  rd   c                t    [        X5      u  p!U R                  X!:  5      R                  U R                  5      $ rf   r  r  s      ra   __lt__PandasLikeSeries.__lt__  r+  rd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __and__PandasLikeSeries.__and__  r+  rd   c                    [        X5      u  p![        SU5      nU R                  UR                  U5      5      R	                  U R
                  5      $ Npd.Series[Any])r   r
   r{   r3  r   rU   r  s      ra   __rand__PandasLikeSeries.__rand__  sD    -d:
#S)  U!34::499EErd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __or__PandasLikeSeries.__or__  r+  rd   c                    [        X5      u  p![        SU5      nU R                  UR                  U5      5      R	                  U R
                  5      $ r6  )r   r
   r{   r;  r   rU   r  s      ra   __ror__PandasLikeSeries.__ror__  sD    -d:
#S)  E!2399$))DDrd   c                t    [        X5      u  p!U R                  X!-   5      R                  U R                  5      $ rf   r  r  s      ra   __add__PandasLikeSeries.__add__  r+  rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __radd__r   rU   r\   r  r   r  s       ra   rD  PandasLikeSeries.__radd__  =    24?  !5!5l!CDJJ499UUrd   c                t    [        X5      u  p!U R                  X!-
  5      R                  U R                  5      $ rf   r  r  s      ra   __sub__PandasLikeSeries.__sub__  r+  rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __rsub__r   rU   rE  s       ra   rL  PandasLikeSeries.__rsub__  rG  rd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __mul__PandasLikeSeries.__mul__  r+  rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __rmul__r   rU   rE  s       ra   rR  PandasLikeSeries.__rmul__  rG  rd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __truediv__PandasLikeSeries.__truediv__  r+  rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __rtruediv__r   rU   rE  s       ra   rX  PandasLikeSeries.__rtruediv__  s=    24?  !9!9,!GHNNtyyYYrd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __floordiv__PandasLikeSeries.__floordiv__  r!  rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __rfloordiv__r   rU   rE  s       ra   r^  PandasLikeSeries.__rfloordiv__  s@    24?  !:!:<!HIOOPTPYPYZZrd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __pow__PandasLikeSeries.__pow__  s0    -d:
  ,22499==rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __rpow__r   rU   rE  s       ra   rd  PandasLikeSeries.__rpow__  rG  rd   c                t    [        X5      u  p!U R                  X!-  5      R                  U R                  5      $ rf   r  r  s      ra   __mod__PandasLikeSeries.__mod__  r+  rd   c                    [        X5      u  p#U R                  U R                  R                  U5      5      R	                  U R
                  5      $ rf   )r   r{   rh   __rmod__r   rU   rE  s       ra   rj  PandasLikeSeries.__rmod__  rG  rd   c                :    U R                  U R                  ) 5      $ rf   )r{   rh   rg   s    ra   
__invert__PandasLikeSeries.__invert__  s      $++..rd   c                6    U R                   R                  5       $ rf   )rh   r   rg   s    ra   r   PandasLikeSeries.any      {{  rd   c                6    U R                   R                  5       $ rf   )rh   allrg   s    ra   rs  PandasLikeSeries.all  rq  rd   c                6    U R                   R                  5       $ rf   )rh   minrg   s    ra   rv  PandasLikeSeries.min  rq  rd   c                6    U R                   R                  5       $ rf   )rh   maxrg   s    ra   ry  PandasLikeSeries.max  rq  rd   c                6    U R                   R                  5       $ rf   )rh   sumrg   s    ra   r|  PandasLikeSeries.sum  rq  rd   c                6    U R                   R                  5       $ rf   )rh   countrg   s    ra   r  PandasLikeSeries.count  s    {{  ""rd   c                6    U R                   R                  5       $ rf   )rh   r   rg   s    ra   r   PandasLikeSeries.mean  s    {{!!rd   c                    U R                   R                  5       (       d  Sn[        U5      eU R                  R	                  5       $ )Nz<`median` operation not supported for non-numeric input type.)r   
is_numericr   rh   medianro   s     ra   r  PandasLikeSeries.median  s8    zz$$&&PC',,{{!!##rd   c               4    U R                   R                  US9$ Nddof)rh   stdr\   r  s     ra   r  PandasLikeSeries.std      {{D))rd   c               4    U R                   R                  US9$ r  )rh   varr  s     ra   r  PandasLikeSeries.var  r  rd   c                J   U R                   R                  5       n[        U5      S:X  a  g [        U5      S:X  a  [        S5      $ [        U5      S:X  a  gXR	                  5       -
  nUS-  R	                  5       nUS-  R	                  5       nUS:w  a  XCS-  -  $ [        S5      $ )Nr   r   nanr   g           g      ?)rh   dropnar   floatr   )r\   ser_not_nullmm2m3s        ra   skewPandasLikeSeries.skew  s    {{))+|!!#<!#0022AQ$BQ$B%'1W2S>>%,>rd   c                ,    [        U R                  5      $ rf   )r   rh   rg   s    ra   r   PandasLikeSeries.len  s    4;;rd   c                R    U R                  U R                  R                  5       SS9$ )NTr   )r{   rh   r   rg   s    ra   is_nullPandasLikeSeries.is_null  s%      !1!1!3 MMrd   c                    U R                   nU R                  R                  5       (       a  U R                  X:g  SS9$ SU R                   S3n[	        U5      e)NTr   z3`.is_nan` only supported for numeric dtype and not z, did you mean `.is_null`?)rh   r   r  r{   r   )r\   r   rp   s      ra   is_nanPandasLikeSeries.is_nan!  sT    kk::  ""$$SZD$IICDJJ<Oij#C((rd   c                    U R                   nUb,  [        X5      u  pVU R                  UR                  US9SS9nU$ U R                  US:X  a  UR	                  US9OUR                  US9SS9nU$ )N)valueTr   forward)limit)rh   r   r{   fillnaffillbfill)r\   r  strategyr  r   r   native_valueres_sers           ra   	fill_nullPandasLikeSeries.fill_null(  s     kk6tCOA''


.4 ( G  ''y( 			&YYUY+#'	 ( G rd   c                T    U R                  U R                  R                  5       5      $ rf   )r{   rh   r  rg   s    ra   
drop_nullsPandasLikeSeries.drop_nulls>  s       !3!3!566rd   c                4    U R                   R                  SS9$ )NF)r  )rh   nuniquerg   s    ra   n_uniquePandasLikeSeries.n_uniqueA  s    {{""%"00rd   c          	     T    U R                  U R                  R                  XX4S95      $ )N)nfracreplacerandom_state)r{   rh   sample)r\   r  fractionwith_replacementseeds        ra   r  PandasLikeSeries.sampleD  s4       KK,<  
 	
rd   c                T    U R                  U R                  R                  5       5      $ rf   )r{   rh   absrg   s    ra   r  PandasLikeSeries.absR  s      !233rd   c                   U(       d  U R                   R                  SS9O$U R                   S S S2   R                  SS9S S S2   nU R                  U5      $ NT)skipna)rh   cumsumr{   r\   reverser   s      ra   cum_sumPandasLikeSeries.cum_sumU  ]      KKd+TrT")))6tt< 	
   ((rd   c                   U R                  U R                  R                  U R                  R                  5       U R                  S95      $ )Nr   )r{   rh   r   uniquerU   )r\   maintain_orders     ra   r  PandasLikeSeries.unique]  s?       KK!!$++"4"4"6TYY!G
 	
rd   c                T    U R                  U R                  R                  5       5      $ rf   )r{   rh   diffrg   s    ra   r  PandasLikeSeries.diffd  s       !1!1!344rd   c                V    U R                  U R                  R                  U5      5      $ rf   )r{   rh   shiftr\   r  s     ra   r  PandasLikeSeries.shiftg  s"      !2!21!566rd   c          
     D   U R                    S3n[        U R                  R                  U R                  5      nU(       a-  [        UUU R                  U R                  U R                  5      OS nU R                  5       nUR                  U R                   XUR                  X&S905      nU R                  U R                  R                  5       R                  XR                   SS9U   5      R                  U R                   5      n	U	R                  5       R!                  5       U R                  5       R!                  5       :w  aZ  SU R#                  U R                  5       ) U	R                  5       -  5      R%                  SS9R'                  5        3n
[)        U
5      eU	$ )N_tmp)r   r   )onhowzYreplace_strict did not replace all non-null values.

The following did not get replaced: F)r  )rU   r   rh   r   rX   r   rY   rZ   rq   	DataFramer   r{   r   merger   r  r|  r  r  r   r   )r\   oldnewreturn_dtypetmp_namer   r   	namespacer  r   rp   s              ra   replace_strictPandasLikeSeries.replace_strictj  s    ii[%)$++*;*;T=Q=QR  %$$%%  	 --/	##YYy'7'7'7'IJ
 ""KK  "((99&(I(S

%		
 	 >>!T\\^%7%7%9977;{{DLLN?U[UcUcUeCe7f7m7m  ~C7m  8D  8L  8L  8N  7OP  S/!rd   c                   U(       a  SOSnU R                  U R                  R                  U(       + US95      R                  U R                  5      $ )Nlastfirst)	ascendingna_position)r{   rh   sort_valuesr   rU   )r\   
descending
nulls_lastr  s       ra   sortPandasLikeSeries.sort  sE     *f  KK##*n+#V

%		
	rd   c           	         XR                   :w  a8  U R                  [        U R                  UU R                  U R
                  S9SS9$ U $ )Nr   Tr   )rU   r{   r   rh   rX   rY   )r\   rU   s     ra   r   PandasLikeSeries.alias  sT    99$$KK#'#7#7$($9$9	 $( %   rd   c                    U R                  XS9$ )Nr   r   )r  )r\   r   r   s      ra   	__array__PandasLikeSeries.__array__  s     }}5}44rd   )r   c                  U=(       d    U R                   [        R                  L n[        U R                  5      n[        U R                  UR                  5      (       aV  U R                  R                  b?  U R                  R                  S5      R                  R                  S 5      R                  nOU R                  nUR                  5       R                  5       nU(       a  [        UR                  5      [         ;   au  U R                   [        R"                  L a  U R$                  S:  a  0 nOS['        S5      0nUR(                  " SU=(       d    [         [        UR                  5         US.UD6$ U(       dP  [        UR                  5      [*        ;   a3  UR)                  U=(       d    [*        [        UR                  5         US9$ UR)                  XS9$ )NUTCr  na_valuer  r   )rX   r    r   r!   rZ   rx   r   Datetime	time_zonedtconvert_time_zonereplace_time_zonerh   r   r   strPANDAS_TO_NUMPY_DTYPE_MISSINGr   rY   r  r   PANDAS_TO_NUMPY_DTYPE_NO_MISSING)r\   r   r   dtypesr   has_missingkwargss          ra   r  PandasLikeSeries.to_numpy  sv    Bt++~/B/BB%dmm4djj&//22tzz7K7K7W))%033EEdKRRAAffhlln3qww<+HH##~'<'<<AVAV Z B $eEl3:: J<S\J  
 s177|/OO::M?AGGMTX    zzz11rd   c                d   U R                   [        R                  L a  U R                  $ U R                   [        R                  L a  U R                  R                  5       $ U R                   [        R                  L a  U R                  R                  5       $ SU R                    3n[        U5      e)NzUnknown implementation: )	rX   r    r   rh   r   	to_pandasMODIN
_to_pandasrn   ro   s     ra   r  PandasLikeSeries.to_pandas  s    >#8#88;;!!^%8%88;;((**!!^%9%99;;))++()=)=(>?S!!rd   c                J    SS K nUR                  " U R                  5       5      $ Nr   )polarsfrom_pandasr  )r\   pls     ra   	to_polarsPandasLikeSeries.to_polars  s    ~~dnn.//rd   c                    U R                  U R                  R                  SS9) 5      R                  U R                  5      $ )NFkeepr{   rh   
duplicatedr   rU   rg   s    ra   	is_uniquePandasLikeSeries.is_unique  s7      $++"8"8e"8"D!DEKKDIIVVrd   c                R    U R                   R                  5       R                  5       $ rf   )rh   r   r|  rg   s    ra   
null_countPandasLikeSeries.null_count  s    {{!%%''rd   c                    U R                  U R                  R                  SS9) 5      R                  U R                  5      $ )Nr  r  r  rg   s    ra   is_first_distinct"PandasLikeSeries.is_first_distinct  s7      $++"8"8g"8"F!FGMMdiiXXrd   c                    U R                  U R                  R                  SS9) 5      R                  U R                  5      $ )Nr  r  r  rg   s    ra   is_last_distinct!PandasLikeSeries.is_last_distinct  s7      $++"8"8f"8"E!EFLLTYYWWrd   c                   [        U[        5      (       d  S[        U5       3n[        U5      eU(       a  U R                  R
                  $ U R                  R                  $ )Nz/argument 'descending' should be boolean, found )rx   r  rm   	TypeErrorrh   is_monotonic_decreasingis_monotonic_increasing)r\   r  rp   s      ra   	is_sortedPandasLikeSeries.is_sorted  sN    *d++CDDTCUVCC. ;;666;;666rd   c                  SSK Jn  U R                  c  SOU R                  nU=(       d    U(       a  SOSnU R                  R	                  SSUS9R                  5       nXg/Ul        U(       a  UR                  USS9nUR                  " XS	9$ )
z-Parallel is unused, exists for compatibility.r   r*   r   
proportionr  F)r  r  	normalize)r  r   )	r   r+   rV   rh   value_countsreset_indexcolumnsr  r   )	r\   r  parallelrU   r+  r+   index_name_value_name_	val_counts	            ra   r,  PandasLikeSeries.value_counts  s     	H!%!3gFy|gKK,,u	 - 

+- 	 )6	!--kU-KI"..yGGrd   c                4    U R                   R                  XS9$ )N)qinterpolation)rh   quantile)r\   r7  r6  s      ra   r7  PandasLikeSeries.quantile  s     {{##h#LLrd   c                    U R                   n[        X5      u  pA[        X5      u  pBUR                  X5      nU R                  U5      $ rf   )rh   r   wherer{   )r\   maskr  r   r   r   s         ra   zip_withPandasLikeSeries.zip_with  sB    kk*46+D8ii$  %%rd   c                V    U R                  U R                  R                  U5      5      $ rf   )r{   rh   headr  s     ra   r?  PandasLikeSeries.head  "      !1!1!!455rd   c                V    U R                  U R                  R                  U5      5      $ rf   )r{   rh   tailr  s     ra   rC  PandasLikeSeries.tail  rA  rd   c                R    U R                  U R                  R                  US95      $ )N)decimals)r{   rh   round)r\   rF  s     ra   rG  PandasLikeSeries.round  s%      !2!2H!2!EFFrd   c          	        SSK Jn  U R                  5       nU R                  nU R                  (       a  [        U R                  5      OSnU U S3nUR                  5       R                  5       nUR                  UUUUUSS9n	U(       a\  [        U	R                  5      Gt pU/U
Qn[        [        XU R                  U R                  5      X0U R                  U R                  S9n	UR                  " XS9$ )	Nr   r*   r   nullrD   )prefix
prefix_sep
drop_firstdummy_nar   )r.  r^   r_   r   )r   r+   rq   rh   rV   r   r   r   get_dummiesrz   r.  r   r   rY   rX   r   )r\   	separatorrM  r+   plxr   rU   null_col_pl	has_nullsr   colsnull_col_pdoutput_orders                ra   
to_dummiesPandasLikeSeries.to_dummies  s    G'')"&**s4::"yk.KKM%%'	 ! ! 
 !%fnn!5T'/$/L&$*?*?AUAU %2#33 $ 5 5F #..vDDrd   c                X    U R                  U R                  R                  US U2   5      $ rf   )r{   rh   r|   )r\   r  offsets      ra   gather_everyPandasLikeSeries.gather_every1  s(      !1!1&)!)!<==rd   c                    U(       a  [        X5      OSu  p4U(       a  [        X5      OSu  p5U R                  [        R                  L a  SS0O0 nU R	                  U R
                  R                  " XE40 UD65      $ )N)NNaxisr   )r   rX   r    r	  r{   rh   clip)r\   r   r   r   lowerupperr  s          ra   r_  PandasLikeSeries.clip4  sv     <G$T7L 	 <G$T7L 	 !% 4 48L8L L&!RT  !1!1%!I&!IJJrd   c                    U R                   [        R                  L a  U R                  R	                  5       $ SS KnUR                  R                  U R                  5      $ r  )rX   r    r   rh   r   pyarrowArrayr  )r\   pas     ra   r   PandasLikeSeries.to_arrowB  sE    >#6#66;;''))xx##DKK00rd   c                z    U R                   R                  5       nU R                  Ul        U R                  U5      $ rf   )rh   moderU   r{   )r\   r   s     ra   ri  PandasLikeSeries.modeJ  s0    !!#ii  ((rd   c                   U R                   R                  5       ) nU(       d  UR                  5       O![        U 5      UR                  5       -
  U-   S-
  nU R	                  U5      $ )Nr   )rh   r   r  r   r{   )r\   r  not_na_seriesr   s       ra   	cum_countPandasLikeSeries.cum_countO  sa    ))++    "T]1133mCaG 	
   ((rd   c                   U(       d  U R                   R                  SS9O$U R                   S S S2   R                  SS9S S S2   nU R                  U5      $ r  )rh   cumminr{   r  s      ra   cum_minPandasLikeSeries.cum_minX  r  rd   c                   U(       d  U R                   R                  SS9O$U R                   S S S2   R                  SS9S S S2   nU R                  U5      $ r  )rh   cummaxr{   r  s      ra   cum_maxPandasLikeSeries.cum_max`  r  rd   c                   U(       d  U R                   R                  SS9O$U R                   S S S2   R                  SS9S S S2   nU R                  U5      $ r  )rh   cumprodr{   r  s      ra   cum_prodPandasLikeSeries.cum_prodh  s]      KKt,TrT"**$*7"= 	
   ((rd   c               t    U R                   R                  XUS9R                  5       nU R                  U5      $ Nwindowmin_periodscenter)rh   rollingr|  r{   r\   window_sizer   r  r   s        ra   rolling_sumPandasLikeSeries.rolling_sump  s=    $$ % 

#% 	   ((rd   c               t    U R                   R                  XUS9R                  5       nU R                  U5      $ r|  )rh   r  r   r{   r  s        ra   rolling_meanPandasLikeSeries.rolling_meanv  s=    $$ % 

$& 	   ((rd   c               r    U R                   R                  XUS9R                  US9nU R                  U5      $ Nr}  r  )rh   r  r  r{   r\   r  r   r  r  r   s         ra   rolling_varPandasLikeSeries.rolling_var|  C     $$ % 

#4#. 	   ((rd   c               r    U R                   R                  XUS9R                  US9nU R                  U5      $ r  )rh   r  r  r{   r  s         ra   rolling_stdPandasLikeSeries.rolling_std  r  rd   c              #  T   #    U R                   R                  5        S h  vN   g  N7frf   )rh   __iter__rg   s    ra   r  PandasLikeSeries.__iter__  s     ;;'')))s   (&(c                    Uc(  U R                   R                  5       R                  5       $ U R                   U:H  R                  5       $ rf   )rh   r   r   r  s     ra   __contains__PandasLikeSeries.__contains__  s9    +0=t{{!%%'Zt{{e?S>X>X>ZZrd   c                r    U R                   nU R                  U[        S5      :  U[        S5      :  -  5      $ )Nz-infinf)rh   r{   r  )r\   r   s     ra   	is_finitePandasLikeSeries.is_finite  s3    KK  !eFm"3E%L8H!IJJrd   c               <   US:X  a  SOUnU R                   nU R                  [        R                  L a  U R                  S:  a  U R
                  R                  5       (       a  U R                  R                  5       =nR                  5       (       aZ  U R                  R                  5       R                  " S0 U S3U0D6R                  U S35      R                  USU(       + SS9U   nO!U R                  R                  USU(       + SS9nU R                  U5      $ )	Nordinalr  )r  _is_nullr  F)method	na_optionr  pctr  )rU   rX   r    r   rY   r   
is_integerrh   r   r   r   assigngroupbyrankr{   )r\   r  r  	pd_methodrU   	null_maskranked_seriess          ra   r  PandasLikeSeries.rank  s   %2G	yy  N$9$99%%,

%%''"kk..005577 $$& :"V8,i8:D6*+$$",n	  
   !KK,, F*nRW - M   //rd   c                  SSK Jn  SSK Jn  SSKJn  U R                  5       nUS:X  d  UbB  [        U5      S::  a3  0 nU(       a  / US'   / US'   UR                  " UR                  U5      U S9$ U R                  R                  5       S:  aw  Ub  USS  U" [        U5      S-
  S	9S
.nO1[        SU5      n	US:X  a  S/S/S
.nOU" SSU	S-   5      SS  U" U	S	9S
.nU(       d  US	 UR                  " UR                  U5      U S9$ Ub  U R                  R                  5       U R                  R                  5       pX:X  a
  U
S-  n
US-  nUS:X  aI  U/U R                  R                  5       /S
.nU(       d  US	 UR                  " UR                  U5      U S9$ U" XUS-   5      nS nUR                  U R                  Uc  UOUSS9nUR                  SSS9R!                  UR"                  R$                  SS9n0 nU(       a!  Ub  USS  OUR&                  R(                  US'   UR+                  SS9US'   UR                  " UR                  U5      U S9$ )Nr   )linspace)zerosr*   r   
breakpointr  r   )shape)r  r  intg      ?g      ?T)binsinclude_lowestF)r  r  )
fill_value)drop)numpyr  r  r   r+   rq   r   r   r  rh   r  r
   rv  ry  cutr,  reindexcat
categoriesr   r   r-  )r\   r  	bin_countinclude_breakpointr  r  r+   r   r   r  r`  ra  r  r   s                 ra   histPandasLikeSeries.hist  sr    	#G&&( >d.3t9>D!%'\"DM&222<<3EtTT;;"&*12hSYQR]9STUI.>+.%1#>D '/q!UQY&?&C!&U!3D &&&222<<3EtTT ;;??,dkkoo.?5~A~#('"kk//12 *\**66r||D7ISWXXE)a-8DI
 VVKK"*	  

 ((5(AIINN%%! J 
 -1-=ab6<<CUCUD***5W"..r||D/A4PPrd   c                    [        U 5      $ rf   r   rg   s    ra   r   PandasLikeSeries.str  s    .t44rd   c                    [        U 5      $ rf   r   rg   s    ra   r  PandasLikeSeries.dt  s    066rd   c                    [        U 5      $ rf   r   rg   s    ra   r  PandasLikeSeries.cat  s    +D11rd   c                h    [        U R                  S5      (       d  Sn[        U5      e[        U 5      $ )Nrz   z>Series must be of PyArrow List type to support list namespace.)hasattrrh   r$  r   ro   s     ra   rz   PandasLikeSeries.list  s-    t{{F++RCC. ,T22rd   c                h    [        U R                  S5      (       d  Sn[        U5      e[        U 5      $ )NstructzBSeries must be of PyArrow Struct type to support struct namespace.)r  rh   r$  r   ro   s     ra   r  PandasLikeSeries.struct  s-    t{{H--VCC. .t44rd   )rY   r[   rX   rV   rW   rZ   )
r]   r   r^   r    r_   ztuple[int, ...]r`   r;   returnNone)r  r   )r  r%   )r  r-   )r~   z'SizedMultiIndexSelector[pd.Series[Any]]r  r'   )r~   z_SliceIndex | ranger  r'   )r`   r;   r  r'   )r   r   r   r  r  r'   )r   zIterable[Any]r   r<   rU   r   r   DType | type[DType] | Noner   r   r  r'   )r   r   r  zTypeIs[Any])r   r   r   r<   r  r'   )r   r1   r   r<   r  r'   )r  r   )r  r.   )r   float | Noner   r  r   r  r   r  r   r  r   r  r   r  r  rR   )r   zint | Sequence[int]r   r   r  r'   )r   r'   r   r'   r  r  )r   zDType | type[DType]r  r'   )r   
int | Noner  r   )r  r+   )r  z	list[Any])r   r   r   r   r   r/   r  r'   )r  r   r  rR   )r  rR   )r  r  )r  r   r  rR   )r  r   r  rR   )r\   rR   r  rR   )r  r  )r  r  )r  r  r  r  )r  r  )r  zSelf | NonNestedLiteralr  zFillNullStrategy | Noner  r  r  r'   )
r  r  r  r  r  r  r  r  r  r'   )r  r  r  r'   )r  r  r  rR   )r  r  r  rR   )r  z!Sequence[Any] | Mapping[Any, Any]r  zSequence[Any]r  r  r  rR   )r  r  r  r  r  rR   )rU   zstr | Hashabler  r'   )r   r   r   zbool | Noner  r8   rf   )r  r7  )r  z	pl.Series)r  r'   )r  r  r  r  )
r  r  r/  r  rU   z
str | Noner+  r  r  r+   )r7  r  r6  r5   r  r  )r;  r   r  r   r  rR   )r  r  r  r'   )rF  r  r  r'   )rP  r   rM  r  r  r+   )r  r  rZ  r  r  r'   )r   .Self | NumericLiteral | TemporalLiteral | Noner   r  r  r'   )r  r)   )r  r  r   r  r  r  r  r'   )
r  r  r   r  r  r  r  r  r  r'   )r  zIterator[Any])r  r   r  r  )r  r4   r  r  r  r'   )r  zlist[float | int] | Noner  r  r  r  r  r+   )r  r   )r  r   )r  r   )r  r   )r  r   )|__name__
__module____qualname____firstlineno__rb   propertyrh   rq   ru   r   r   r   r{   classmethodr   staticmethodr   r   r   rU   r   r   r   r   r
   r   r   r   r   r  r	  r  r  r  r  r#  r&  r)  r-  r0  r3  r8  r;  r>  rA  rD  rI  rL  rO  rR  rU  rX  r[  r^  ra  rd  rg  rj  rm  r   rs  rv  ry  r|  r  r   r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r!  r'  r,  r7  r<  r?  rC  rG  rW  r[  r_  r   ri  rm  rq  ru  ry  r  r  r  r  r  r  r  r  r  r   r  r  rz   r  __static_attributes__r  rd   ra   rR   rR   n   s}      '	 
 )    
 * # #"
9


 GL 	  ,0TT 	T
 T *T T 
T T2 * * 
 
 8 8   
 
) ) 	)
  ) ) ) ) ) 
)>$=&X
'	
X66-06:H6	6$:)
$
Q@@@?@??F
?E
?V?V?V?Z@[>V?V/
!!!!!#"$**? 
N)& * 	
 
,71

 	

 
 
 

4)
57!.! !
 1! 
!F52 2 2:"0W(YX7HH'+H3=HJNH	H&MM.HM	M
&66GE@>KCK DK 
	K1)
))))))))03)=A)IL)	)))03)=A)IL)	)*[K0:JQ&JQ 	JQ
 !JQ 
JQX 5 5 7 7 2 2 3 3 5 5rd   rR   )P
__future__r   typingr   r   r   r   r   r	   r
   r  r   narwhals._compliantr    narwhals._pandas_like.series_catr   narwhals._pandas_like.series_dtr   !narwhals._pandas_like.series_listr    narwhals._pandas_like.series_strr   #narwhals._pandas_like.series_structr   narwhals._pandas_like.utilsr   r   r   r   r   r   r   r   narwhals.dependenciesr   r   narwhals.exceptionsr   narwhals.utilsr    r!   r"   r#   r$   typesr%   r&   pandaspdr  r  typing_extensionsr'   r(   narwhals._arrow.typingr)   r   r+   rt   r-   narwhals.dtypesr.   narwhals.typingr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r  r  rR   r  rd   ra   <module>r     s   "          + I M K L O @ 9 @ @ G . > 1 3 7 5 ) / % ( 3 &(1CC%.0+0.*:7/(*+&+$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#!$ "!)! 0i5{3' i5rd   