
    }iVo                    ,   U d dl mZ d dlmZmZmZmZmZ d dlZ	d dl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZ d dlmZmZ er~d dl m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d d	lm'Z'm(Z( d dl)Z*d dl+Z,d d
l-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5 d dl6m7Z7 d dlm8Z8m9Z9 d dl:m;Z; d dl<m=Z= d dl>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE  e(d          ZFe'd         ZGdeHd<   eZIdeHd<    eJg d          ZK G d d          ZL G d deeLe	j=        f                   ZM G d deMeeLe	j=        f                   ZN G d deMeeLe	j=        f                   ZO G d  d!eMeeLe	j=        f                   ZP G d" d#eMeeLe	j=        f                   ZQ G d$ d%eMeeLe	j=        f                   ZRdS )&    )annotations)TYPE_CHECKINGAnyClassVarcastoverloadN)BACKEND_VERSIONSERIES_ACCEPTS_PD_INDEXSERIES_RESPECTS_DTYPEPolarsAnyNamespacePolarsCatNamespacePolarsDateTimeNamespacePolarsListNamespacePolarsStringNamespacePolarsStructNamespacecatch_polars_exceptionextract_args_kwargsextract_nativenarwhals_to_native_dtypenative_to_narwhals_dtype)Implementation
no_defaultrequires)is_numpy_array_1dis_pandas_index)IterableIteratorMappingSequence)
ModuleType)LiteralTypeVar)Self	TypeAliasTypeIs)MethodPolarsDataFramePolarsNamespace)	NoDefault)Version_LimitedContext)DType)Series)Into1DArray	IntoDTypeModeKeepStrategyMultiIndexSelectorNonNestedLiteralPythonLiteral_1DArrayT)FTr$   IncludeBreakpoint
Incomplete)Q__add____and____floordiv__
__invert____iter____mod____mul____or____pow____radd____rand____rfloordiv____rmod____rmul____ror____rsub____rtruediv____sub____truediv__absallanyarg_maxarg_minarg_trueceilclipcoscountcum_maxcum_mincum_prodcum_sumdiff
drop_nullsexp	fill_nullfill_nanfilterfloorgather_everyhead
is_betweenis_closeis_duplicatedis_empty	is_finiteis_first_distinctis_inis_last_distinctis_null	is_sorted	is_uniqueitemkurtosislenlogmaxmeanminmoden_unique
null_countquantilerankroundsampleshiftsinskewsqrtstdsumtailto_arrowto_frameto_list	to_pandasuniquevarzip_withc                  ~   e Zd ZU ej        Zded<   ded<   ded<   ddgdgd	Zd
ed<   ddZe	dd            Z
d dZddZddZddZddZeddddd&            Zedd*            Zedd+            Zedd-            Zd	d/Zd
d0Zed
d1            Zedd4            Zedd6            Zdd9Zdd<Zdd>Zdd@Ze	d dA            Ze	ddC            Ze	ddD            ZddEZ ddIZ!ddKZ"ddNZ#ddOZ$ddPZ% e&j'        dQ          ddX            Z(dddYdd]Z)dd^Z*dd`Z+ddaZ,ddbZ-ddcZ.dddZ/ddeZ0ddgZ1ddhZ2ddiZ3ddjZ4d dnZ5d!dwZ6 e&j'        dQ          d"d{            Z7 e&j'        dQ          d"d|            Z8d#d}Z9d#d~Z:d$dZ;d%dZ<d&dZ=d'dZ>d(dZ?d)dZ@d*dZAd+dZBd,dZCd-dZDddZEd.dZFd.dZGd/dZHe	d0d            ZIe	d1d            ZJe	d2d            ZKe	d3d            ZLded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   dedF<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   e	d4d            ZMdS (5  PolarsSeriesr   _implementation	pl.Series_native_seriesr+   _version
breakpointrU   )TFz3ClassVar[Mapping[IncludeBreakpoint, Sequence[str]]]_HIST_EMPTY_SCHEMAseriesversionreturnNonec               "    || _         || _        d S N)r   r   )selfr   r   s      K/home/jrussi/.local/lib/python3.11/site-packages/narwhals/_polars/series.py__init__zPolarsSeries.__init__   s    $    tuple[int, ...]c                4    | j                                         S r   )r   _backend_versionr   s    r   r   zPolarsSeries._backend_version   s    #44666r   strc                    dS )Nr    r   s    r   __repr__zPolarsSeries.__repr__   s    ~r   r)   c                0    ddl m}  || j                  S )Nr   r(   r   )narwhals._polars.namespacer)   r   )r   r)   s     r   __narwhals_namespace__z#PolarsSeries.__narwhals_namespace__   s)    >>>>>>t}5555r   r#   c                    | S r   r   r   s    r   __narwhals_series__z PolarsSeries.__narwhals_series__   s    r   r    c                    | j         t          j        u r| j                                         S dt	          | j                    }t          |          )NzExpected polars, got: )r   r   POLARSto_native_namespacetypeAssertionError)r   msgs     r   __native_namespace__z!PolarsSeries.__native_namespace__   sN    >#888';;===CtD,@'A'ACCS!!!r   c                :    |                      | j        |          S Nr   )	__class__native)r   r   s     r   _with_versionzPolarsSeries._with_version   s    ~~dk7~;;;r    N)namedtypedataIterable[Any]contextr,   r   r   IntoDType | Nonec               T   |j         }|rt          ||          nd }|}t          rt          j        |||          }nVt
          s#t          |          r|                                }t          j        ||          }|r|                    |          }| 	                    ||          S )Nr   r   )
r   r   r   plr.   r
   r   	to_seriesr   from_native)	clsr   r   r   r   r   dtype_plvaluesr   s	            r   from_iterablezPolarsSeries.from_iterable   s     "?DN+E7;;;$!  	/YtV8<<<FF+ ,1H1H ,))++YtV,,F /X..vw777r   objpl.Series | AnyTypeIs[pl.Series]c                6    t          | t          j                  S r   )
isinstancer   r.   )r   s    r   
_is_nativezPolarsSeries._is_native   s    #ry)))r   c              &     | ||j                   S r   )r   )r   r   r   s      r   r   zPolarsSeries.from_native   s    s4!12222r   r/   c              |    t          j        t          |          r|n|g          }|                     ||          S )Nr   )r   r.   r   r   )r   r   r   r   s       r   
from_numpyzPolarsSeries.from_numpy   s;    #4T#:#:F44GGvw777r   Series[pl.Series]c                :    | j                             | d          S )Nfull)level)r   r   r   s    r   to_narwhalszPolarsSeries.to_narwhals   s    }##D#777r   c                :    |                      || j                  S r   )r   r   r   r   s     r   _with_nativezPolarsSeries._with_native   s    ~~fdm~<<<r   c                    d S r   r   r   s     r   _from_native_objectz PolarsSeries._from_native_object   s    >Acr   pl.DataFramer'   c                    d S r   r   r   s     r   r   z PolarsSeries._from_native_object   s    LOCr   r6   c                    d S r   r   r   s     r   r   z PolarsSeries._from_native_object   s    363r   pl.Series | pl.DataFrame | TSelf | PolarsDataFrame | Tc                    |                      |          r|                     |          S t          |t          j                  rddlm}  |j        ||           S |S )Nr   r'   r   )r   r   r   r   	DataFramenarwhals._polars.dataframer'   r   )r   r   r'   s      r   r   z PolarsSeries._from_native_object   sp     ??6"" 	-$$V,,,fbl++ 	EBBBBBB.?.vtDDDDr   attrr   c                l     t           vr! j        j         d d}t          |          d fd}|S )	Nz has not attribute 'z'.argsr   kwargsr   c                     t          | |          \  }}                     t          j                  |i |          S r   )r   r   getattrr   )r   r   poskwdsr   r   s       r   funcz&PolarsSeries.__getattr__.<locals>.func   sF    +D&99IC++,FGDK,F,F,Tt,T,TUUUr   )r   r   r   r   r   r   )INHERITED_METHODSr   __name__AttributeError)r   r   r   r   s   ``  r   __getattr__zPolarsSeries.__getattr__   sj    (((^,JJ$JJJC %%%	V 	V 	V 	V 	V 	V 	V r   intc                *    t          | j                  S r   )rp   r   r   s    r   __len__zPolarsSeries.__len__   s    4;r   otherc                   | j         dk     r| j        }|                                 }|                                                     |                    |                              |                              |                                        |          S | 	                    | j
                            t          |                              S )N)   
   r   )r   r   r   r   selectcolrD   alias
get_columnr   r   r   )r   r   r   nss       r   rD   zPolarsSeries.__rfloordiv__  s     :--9D,,..B33E::AA$GGHHD!!
   !:!:>%;P;P!Q!QRRRr   c                    | j         j        S r   )r   r   r   s    r   r   zPolarsSeries.name  s    {r   r-   c                @    t          | j        j        | j                  S r   )r   r   r   r   r   s    r   r   zPolarsSeries.dtype  s    '(94=IIIr   c                    | j         S r   )r   r   s    r   r   zPolarsSeries.native  s    ""r   c                \    |                      | j                            |                    S r   )r   r   r   )r   r   s     r   r   zPolarsSeries.alias  s&    ''(9(9$(?(?@@@r   rn   MultiIndexSelector[Self]
Any | Selfc                    t          |t                    r2|                     | j                            |j                            S |                     | j                            |                    S r   )r   r   r   r   __getitem__)r   rn   s     r   r  zPolarsSeries.__getitem__  s_    dL)) 	R++DK,C,CDK,P,PQQQ''(?(?(E(EFFFr   r0   c                    t          || j                  }|                     | j                            |                    S r   )r   r   r   r   r   )r   r   r   s      r   r   zPolarsSeries.cast"  s7    +E4=AA  !1!1(!;!;<<<r   lower_boundupper_boundc                    |                      | j                            t          |          t          |                              S r   r   r   rS   r   )r   r  r  s      r   rS   zPolarsSeries.clip&  s?      K^K88.:U:UVV
 
 	
r   c                v    |                      | j                            t          |                              S r   r  )r   r  s     r   
clip_lowerzPolarsSeries.clip_lower+  s.      !1!1.2M2M!N!NOOOr   c                x    |                      | j                            t          |                              S )N)r  r  )r   r  s     r   
clip_upperzPolarsSeries.clip_upper.  s8      K)D)DEE
 
 	
r   r   defaultPolarsSeries | NoDefaultoldSequence[Any]newreturn_dtypec                   | j         }|rt          || j                  nd }|t          u ri ndt	          |          i}|                      |j        ||fd|i|          S )Nr  r  )r   r   r   r   r   r   replace_strict)r   r  r  r  r  serr   extra_kwargss           r   r  zPolarsSeries.replace_strict3  s     k $\4=AAA 	 Z''BBi9P9P-Q 	   CsCLLeL|LL
 
 	
r   copyr  bool | Noner5   c               0    |                      ||          S )Nr  )	__array__r   r   r  s      r   to_numpyzPolarsSeries.to_numpyJ  s    ~~e$~///r   c                   | j         dk     r| j                            |          S | j                            ||          S )N)r         r   )r   r  )r   r   r  r  s      r   r  zPolarsSeries.__array__M  sD     ;..;((u(555{$$5t$<<<r   objectc                v    |                      | j                            t          |                              S r   )r   r   __eq__r   r   r   s     r   r$  zPolarsSeries.__eq__R  .      !3!3N54I4I!J!JKKKr   c                v    |                      | j                            t          |                              S r   )r   r   __ne__r   r%  s     r   r(  zPolarsSeries.__ne__U  r&  r   c                v    |                      | j                            t          |                              S r   )r   r   __ge__r   r%  s     r   r*  zPolarsSeries.__ge__Y  r&  r   c                v    |                      | j                            t          |                              S r   )r   r   __gt__r   r%  s     r   r,  zPolarsSeries.__gt__\  r&  r   c                v    |                      | j                            t          |                              S r   )r   r   __le__r   r%  s     r   r.  zPolarsSeries.__le___  r&  r   c                v    |                      | j                            t          |                              S r   )r   r   __lt__r   r%  s     r   r0  zPolarsSeries.__lt__b  r&  r   PolarsSeries | Anyc                    | j                             t          |                    }| j        dk     r|                    | j                  }|                     |          S )N)r      r   )r   __rpow__r   r   r   r   r   )r   r   results      r   r4  zPolarsSeries.__rpow__e  sT    %%nU&;&;<< :--\\$),,F  (((r   c                   	 | j                                         }n"# t          $ r}t          |          d d }~ww xY w| j        dk     rpt          j        | j                                                                       |          }| 	                    t          j
        |          | j                           S | 	                    |          S N)r      )r   is_nan	Exceptionr   r   r   whenis_not_nullthenr   r   r   )r   native_is_naner   s       r   r9  zPolarsSeries.is_nanl  s    	6 K..00MM 	6 	6 	6(++5	6 7**WT[446677<<]KKF$$RYv%6%6ty%ABBB  ///    
;6;c                T   | j                                         }| j        dk     rpt          j        | j                                                                       |          }|                     t          j        |          | j	                           S |                     |          S r7  )
r   rg   r   r   r;  r<  r=  r   r   r   )r   native_is_finiter   s      r   rg   zPolarsSeries.is_finitev  s    ;0022 7**WT[446677<<=MNNF$$RYv%6%6ty%ABBB  !1222r   c                    ddl m} | j                                        sd} ||          | j                                        S )Nr   )InvalidOperationErrorz<`median` operation not supported for non-numeric input type.)narwhals.exceptionsrD  r   
is_numericr   median)r   rD  r   s      r   rG  zPolarsSeries.median}  sT    ======z$$&& 	-PC'',,,{!!###r   	separator
drop_firstboolc                  ddl m} | j        dk     r| j                                                                        }| j                            |          }|j        }|r"|                    t          |                    }|
                    |          }n| j                            ||          }|                    t          j                                        t          j                            } |j        ||           S )Nr   r   )r   r      )rH  )rH  rI  r   )r   r'   r   r   rk   rN   
to_dummiescolumnspopr   r   with_columnsr   rM   r   Int8r   )r   rH  rI  r'   	has_nullsr5  output_columns_s           r   rM  zPolarsSeries.to_dummies  s    >>>>>> ;..++--1133I[++i+@@F#^N 7"&&s9~~66]]>22FF[++iJ+WWF$$RVXX]]27%;%;<<**64@@@@r   comfloat | Nonespan	half_lifealphaadjustmin_samplesignore_nullsc          
        | j         dk     rd|ind|i} | j        j        d||||||d|}	| j         dk     r|                     t	          j        t	          j        | j                                                                       |	          	                    d                     | j        j
                           S |                     |	          S )Nr      r   min_periodsr[  )rU  rW  rX  rY  rZ  r\  r  r   )r   r   ewm_meanr   r   r   r;  rk   r=  	otherwiser   )
r   rU  rW  rX  rY  rZ  r[  r\  r  native_results
             r   ra  zPolarsSeries.ewm_mean  s     $z11 K((- 	 -, 
%
 
 
 
  4''$$	GT[002223388GGQQRVWW +"$     ///r   window_sizecenterddofc          	     z    | j         dk     rd|ind|i}|                      | j        j        d|||d|          S Nr^  r`  r[  )rd  re  rf  r   )r   r   r   rolling_varr   rd  r[  re  rf  r  s         r   ri  zPolarsSeries.rolling_var  s     $z11 K((- 	
   #DK# 'T EQ 
 
 	
r   c          	     z    | j         dk     rd|ind|i}|                      | j        j        d|||d|          S rh  )r   r   r   rolling_stdrj  s         r   rm  zPolarsSeries.rolling_std  rk  r   c               x    | j         dk     rd|ind|i}|                      | j        j        d||d|          S Nr^  r`  r[  )rd  re  r   )r   r   r   rolling_sumr   rd  r[  re  r  s        r   rp  zPolarsSeries.rolling_sum  sq     $z11 K((- 	
   #DK# ' :F 
 
 	
r   c               x    | j         dk     rd|ind|i}|                      | j        j        d||d|          S ro  )r   r   r   rolling_meanrq  s        r   rs  zPolarsSeries.rolling_mean  sq     $z11 K((- 	
   $DK$ ' :F 
 
 	
r   
descending
nulls_lastc               X   | j         dk     ro| j                            |          }|rQ|                                }t	          j        |                    |           |                    |          g          }n| j                            ||          }|                     |          S )N)r   r      )rt  )rt  ru  )r   r   sortrk   r   concatr_   r   )r   rt  ru  r5  rk   s        r   rx  zPolarsSeries.sort  s     :--[%%%<<F V ..**FMM7($;$;V]]7=S=S#TUU[%%
%SSF  (((r   indicesr   c                    | j                                                             |j         |j                   }|                     |          S r   )r   clonescatterr   )r   rz  r   ss       r   r}  zPolarsSeries.scatter  s=    K''FF  ###r   rx  parallel
str | None	normalizec                  ddl m} | j        dk     r|p|rdnd} | j                            ||          j        d	i | j        j        t          j        | j        j                  ||r)t          j        d          t          j	        d          z  nt          j        d          i}n| j                            ||||          } |j
        ||           S )
Nr   r   )r   r   r   
proportionrU   )rx  r  )rx  r  r   r  r   r   )r   r'   r   r   value_countsr   r   r   r   r   r   )r   rx  r  r   r  r'   value_name_r5  s           r   r  zPolarsSeries.value_counts  s     	?>>>>> 9,,J9#I<<'KRT[--4(-KKR  [%t{/?(@(@ ")26'??!B!B	 FF [--H49 .  F +*64@@@@r   reversec               ^    |                      | j                            |                    S )N)r  )r   r   	cum_count)r   r  s     r   r  zPolarsSeries.cum_count  s)      !6!6w!6!G!GHHHr   c                |    	 | j                             |          S # t          $ r}t          |          d d }~ww xY wr   )r   __contains__r:  r   )r   r   r?  s      r   r  zPolarsSeries.__contains__  sL    	6;++E222 	6 	6 	6(++5	6r@  keepr1   c                   | j                                         }|                     |dk    r|                    d          n|          S )NrN   r   )r   ru   r   rb   )r   r  r5  s      r   ru   zPolarsSeries.mode  s?    !!##  45==QfMMMr   binslist[float]include_breakpointc               t   t          |          dk    r!t          j        | j        |                   }n| j                                        r|rat          j        |dd                                        d                              t          j	        dt          j
                            }n[t          j        t          j        t          |          dz
  t          j
                            }n|                     |d |          S |                                 j                            ||           S )Nr   schemar   r   rU   r  	bin_countr  r   )rp   r   r   r   r   rf   r.   r   rP  litInt64r   zeros_hist_from_datar   
_dataframer   )r   r  r  r   s       r   hist_from_binszPolarsSeries.hist_from_bins"  s    t99>>\)@AS)TUUUFF[!!## 	! LId122h''Xl++!\q"((;(;\<<  #d))a-)J)JKKK''T>P (    **,,7CCFTXCYYYr   r  c               b   |dk    r!t          j        | j        |                   }n| j                                        r|rMt          j        t          j        d|dz             |z  t          j        dt           j                            }nst          j        t          j	        |t           j                            }n@t          dk     rd }|                     |          }n|}d }|                     |||          S |                                 j                            || 	          S )
Nr   r  r   )r   rU   r  r   rL  )r  r  r   )r   r   r   r   rf   r   	int_ranger  r  r  r	   _bins_from_bin_countr  r   r  r   )r   r  r  r   rU   r  s         r   hist_from_bin_countz PolarsSeries.hist_from_bin_count6  s3    >>\)@AS)TUUUFF[!!## 	! H!|Ay1}==	I&BH--  
 )RX)F)FGGG ((0090EE!''#5 (   
 **,,7CCFTXCYYYr   c                   t          d| j                                                  }t          d| j                                                  }||k    r
|dz  }|dz  }||z
  |z  }t	          j        d|dz   d          |z  |z   S )a>  Prepare bins based on backend version compatibility.

        polars <1.15 does not adjust the bins when they have equivalent min/max
        polars <1.5 with bin_count=...
        returns bins that range from -inf to +inf and has bin_count + 1 bins.
          for compat: convert `bin_count=` call to `bins=`
        floatg      ?r   r   T)eager)r   r   rt   rr   r   r  )r   r  lowerupperwidths        r   r  z!PolarsSeries._bins_from_bin_countR  s     Wdkoo//00Wdkoo//00E>>SLESLE)+|Ay1}D999EAEIIr   list[float] | None
int | Nonec                  ddl m} | j        }t          dk     s||                    d          }|                    ||d|          }|sH|j        d         }|                    t          j	        |          
                    d                    }n"t          dk     r|                    d	d
i          }|t          dk     rRt          j        dt          |                    }|                    |dk    |t          |          dz
  k     z            }t          dk     r|                    dd                              t          j	        d          t          j        |          |d         k                                    z                                 |                    d                    } |j        ||           S )zbCalculate histogram from non-empty data and post-process the results based on the backend version.r   r   r  NF)r  include_categoryr  rU   )r   r   break_pointr   )r   rw  r   )r      r   )r   r'   r   r	   r^   histrN  r   r   r   r   renamer  rp   r_   slicerP  r  r   vstackr   )	r   r  r  r  r'   r   dfcol_namers	            r   r  zPolarsSeries._hist_from_datad  s    	?>>>>> W$$(8__T**F[["1	  
 
 " 	:z!}H26(++11'::;;BBv%%M<899B''LCGG,,YYA!c"ggk/:;;((HHQNN!\"&//bfVnnQ6O5T5T5V5V"WXXVBHHQKK((  +*2t<<<<r   c                    | j         S r   )r   r   s    r   	to_polarszPolarsSeries.to_polars  s
    {r   r4   c                    | j         dk     r+t          |           r| j                            d          nd S | j                                        S )Nr   r   r   )r   rp   r   rn   firstr   s    r   r  zPolarsSeries.first  sJ     7***-d))=4;##A&&&={  """r   c                    | j         dk     r+t          |           r| j                            d          nd S | j                                        S )Nr  )r   rp   r   rn   lastr   s    r   r  zPolarsSeries.last  sJ     7**+.t99>4;##B'''$>{!!!r   c               z    |r&|                                                                  n|                                 S r   )r[   r  )r   r\  s     r   	any_valuezPolarsSeries.any_value  s0    ,8Jt  &&(((djjllJr   PolarsSeriesDateTimeNamespacec                     t          |           S r   )r  r   s    r   dtzPolarsSeries.dt  s    ,T222r   PolarsSeriesStringNamespacec                     t          |           S r   )r  r   s    r   r   zPolarsSeries.str      *4000r   PolarsSeriesCatNamespacec                     t          |           S r   )r  r   s    r   catzPolarsSeries.cat  s    '---r   PolarsSeriesStructNamespacec                     t          |           S r   )r  r   s    r   structzPolarsSeries.struct  r  r   zMethod[Self]r9   r:   r;   r<   zMethod[Iterator[Any]]r=   r>   r?   r@   rA   rB   rC   rE   rF   rG   rH   rI   rJ   rK   rL   zMethod[bool]rM   rN   zMethod[int]rO   rP   rQ   rR   rT   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   re   rf   rh   ri   rj   rk   rl   rm   zMethod[Any]zMethod[float | None]ro   rp   rq   rr   zMethod[float]rs   rt   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   zMethod[pa.Array[Any]]r   zMethod[PolarsDataFrame]r   zMethod[list[Any]]r   zMethod[pd.Series[Any]]r   r   r   r   PolarsSeriesListNamespacec                     t          |           S r   )r  r   s    r   listzPolarsSeries.list  s    (...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   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   r6   r   r6   )r   r   r   r   )r   r   r   r   )r   r   )r   r   r   r   )r   r-   r   r   )r   r   r   r#   )rn   r   r   r  )r   r0   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   r5   )r   r"  r   r#   )r   r#   r   r#   )r   r1  r   r#   )r   r   )rH  r   rI  rJ  r   r'   )rU  rV  rW  rV  rX  rV  rY  rV  rZ  rJ  r[  r   r\  rJ  r   r#   )
rd  r   r[  r   re  rJ  rf  r   r   r#   )rd  r   r[  r   re  rJ  r   r#   )rt  rJ  ru  rJ  r   r#   )rz  r#   r   r#   r   r#   )
rx  rJ  r  rJ  r   r  r  rJ  r   r'   )r  rJ  r   r#   )r   r   r   rJ  )r  r1   r   r#   )r  r  r  rJ  r   r'   )r  r   r  rJ  r   r'   )r  r   r   r   )r  r  r  r  r  rJ  r   r'   )r   r4   )r\  rJ  r   r4   )r   r  )r   r  )r   r  )r   r  )r   r  )Nr   
__module____qualname__r   r   r   __annotations__r   r   propertyr   r   r   r   r   r   classmethodr   staticmethodr   r   r   r   r   r   r   r   r   rD   r   r   r   r   r  r   rS   r
  r  r   backend_versionr  r  r  r$  r(  r*  r,  r.  r0  r4  r9  rg   rG  rM  ra  ri  rm  rp  rs  rx  r}  r  r  r  ru   r  r  r  r  r  r  r  r  r  r   r  r  r  r   r   r   r   r      s
        &4&;O;;;; W%yO O    
        7 7 7 X7   6 6 6 6
   " " " "< < < <  "&8 8 8 8 8 [8* * * * \* 3 3 3 [3 8 8 8 [88 8 8 8= = = = AAA XAOOO XO666 X6
 
 
 
	 	 	 	       	S 	S 	S 	S       X  J J J XJ # # # X#A A A AG G G G
= = = =
 
 
 

P P P P
 
 
 

 Xd##
 
 
 $#
,0 0 0 0 0 0 0= = = =
L L L LL L L LL L L LL L L LL L L LL L L L) ) ) )0 0 0 03 3 3 3$ $ $ $A A A A !0 !0 !0 !0F Xd##
 
 
 $#
 Xd##
 
 
 $#


 

 

 



 

 

 


) 
) 
) 
)$ $ $ $A A A A,I I I I6 6 6 6N N N NZ Z Z Z(Z Z Z Z8J J J J$*= *= *= *=X   # # # #
" " " "
K K K K 3 3 3 X3 1 1 1 X1 . . . X. 1 1 1 X1 ########""""""""####%%%%%%%%/ / / X/ / /r   r   c                  n    e Zd ZddZedd            Zedd            Zedd
            ZddZddZ	dS )PolarsSeriesNamespacer   r   r   r   c                    || _         d S r   _seriesr   s     r   r   zPolarsSeriesNamespace.__init__  s    r   c                    | j         S r   r  r   s    r   	compliantzPolarsSeriesNamespace.compliant  s
    |r   r   c                    | j         j        S r   )r  r   r   s    r   r   zPolarsSeriesNamespace.native
  s    |""r   r   c                    | j         j        S r   )r  r   r   s    r   r   zPolarsSeriesNamespace.name  s    ~""r   r)   c                4    | j                                         S r   )r  r   r   s    r   r   z,PolarsSeriesNamespace.__narwhals_namespace__  s    ~44666r   r'   c                4    | j                                         S r   )r  r   r   s    r   r   zPolarsSeriesNamespace.to_frame  s    ~&&(((r   N)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    s               X # # # X# # # # X#7 7 7 7) ) ) ) ) )r   r  c                      e Zd ZdS )r  Nr   r  r  r   r   r   r  r            3r   r  c                  6    e Zd ZddZddZddZddZddZdS )r  r   r   c                    | j         }|                                 }|                                                     |                    |          j                                                                      |          S r   )r   r   r   r   r   r   to_titlecaser   r   r   r   s      r   r  z(PolarsSeriesStringNamespace.to_titlecase!  s^    y((**}}%%bffTll&6&C&C&E&EFFQQRVWWWr   r  r   c                   | j         }|                                 }|                                                     |                    |          j                            |                                        |          S r   )r   r   r   r   r   r   zfillr   )r   r  r   r   s       r   r  z!PolarsSeriesStringNamespace.zfill&  s`    y((**}}%%bffTll&6&<&<U&C&CDDOOPTUUUr   valuepatternr   literalrJ  nc                   t          |          }| j                            | j        j                            ||||                    S )N)r  r  )r   r  r   r   r   replace)r   r  r  r  r  value_natives         r   r  z#PolarsSeriesStringNamespace.replace+  sI     &e,,~**KO##G\7a#PP
 
 	
r   c                   t          |          }| j                            | j        j                            |||                    S N)r  )r   r  r   r   r   replace_all)r   r  r  r  r  s        r   r  z'PolarsSeriesStringNamespace.replace_all3  sG     &e,,~**KO''w'OO
 
 	
r   c                   t          |          }| j                            | j        j                            ||                    S r  )r   r  r   r   r   contains)r   r  r  pattern_natives       r   r  z$PolarsSeriesStringNamespace.contains;  sC    '00~**KO$$^W$EE
 
 	
r   Nr  )r  r   r   r   )
r  r   r  r   r  rJ  r  r   r   r   )r  r   r  r   r  rJ  r   r   )r  r   r  rJ  r   r   )r   r  r  r  r  r  r  r  r   r   r   r  r    s        X X X X
V V V V

 
 
 

 
 
 

 
 
 
 
 
r   r  c                      e Zd ZdS )r  Nr  r   r   r   r  r  B  r  r   r  c                      e Zd ZddZd	dZdS )
r  r   r   c                    | j         }|                                 }|                                                     |                    |          j                                                                      |          S r   )r   r   r   r   r   r  rp   r   r  s      r   rp   zPolarsSeriesListNamespace.lenJ  s]    y((**}}%%bffTll&7&;&;&=&=>>II$OOOr   rn   r3   c                   | j         }|                                 }|                                                     |                    |          j                            |                                        |          S r   )r   r   r   r   r   r  r  r   )r   rn   r   r   s       r   r  z"PolarsSeriesListNamespace.containsO  s`    y((**}}%%bffTll&7&@&@&F&FGGRRSWXXXr   Nr  )rn   r3   r   r   )r   r  r  rp   r  r   r   r   r  r  G  sF        P P P P
Y Y Y Y Y Yr   r  c                      e Zd ZdS )r  Nr  r   r   r   r  r  U  r  r   r  )S
__future__r   typingr   r   r   r   r   polarsr   narwhals._polars.utilsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   narwhals._utilsr   r   r   narwhals.dependenciesr   r   collections.abcr   r   r   r   typesr    r!   r"   pandaspdpyarrowpatyping_extensionsr#   r$   r%   r   r&   r'   r   r)   narwhals._typingr*   r+   r,   narwhals.dtypesr-   narwhals.seriesr.   narwhals.typingr/   r0   r1   r2   r3   r4   r5   r6   r7   r  r8   	frozensetr   r   r  r  r  r  r  r  r   r   r   <module>r     s   " " " " " " " ? ? ? ? ? ? ? ? ? ? ? ? ? ?                                     A @ @ @ @ @ @ @ @ @ D D D D D D D D 8EEEEEEEEEEEE      ''''''''9999999999BBBBBBBB::::::******88888888%%%%%%&&&&&&                  	A#*;#77777
     IR R RT T no	/ o	/ o	/ o	/ o	/ o	/ o	/ o	/d) ) ) ) ).|RY/FG ) ) ).    2<3JK  
!
 !
 !
 !
 !
0ry1HI!
 !
 !
H    -lBI.EF  
Y Y Y Y Y.|RY/FGY Y Y    0ry1HI    r   