
    hhgj                        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 d dlmZmZ erzd 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.m/Z/ d dl0m1Z1m2Z2 d dl3m4Z4 d dlm5Z5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC  e'd          ZDe&d         ZEdeFd<   eZGdeFd<    eHg d          ZI G d d          ZJ G d deeJe	j:        f                   ZK G d deKeeJe	j:        f                   ZL G d deKeeJe	j:        f                   ZM G d d eKeeJe	j:        f                   ZN G d! d"eKeeJe	j:        f                   ZO G d# d$eKeeJe	j:        f                   ZPd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requires)is_numpy_array_1dis_pandas_index)IterableIteratorMappingSequence)
ModuleType)LiteralTypeVar)Self	TypeAliasTypeIs)MethodPolarsDataFramePolarsNamespace)Version_LimitedContext)DType)Series)Into1DArray	IntoDTypeModeKeepStrategyMultiIndexSelectorNonNestedLiteralNumericLiteralPythonLiteral_1DArrayT)FTr#   IncludeBreakpoint
Incomplete)O__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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skewsqrtstdsumtailto_arrowto_frameto_list	to_pandasuniquevarzip_withc                  R   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
dd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	ddA            Ze	ddC            Ze	ddD            ZddEZ ddIZ!ddKZ" e#j$        dL          ddR            Z%dddSddWZ&ddXZ'ddZZ(dd[Z)dd\Z*dd]Z+dd^Z,dd_Z-ddaZ.ddbZ/ddcZ0ddgZ1ddpZ2 e#j$        dL          ddt            Z3 e#j$        dL          ddu            Z4ddvZ5ddwZ6d dzZ7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ZDe	d,d            ZEe	d-d            ZFe	d.d            ZGe	d/d            ZHde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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<   e	d0d            ZIdS (1  PolarsSeriesr   _implementation	pl.Series_native_seriesr)   _version
breakpointrS   )TFz3ClassVar[Mapping[IncludeBreakpoint, Sequence[str]]]_HIST_EMPTY_SCHEMAseriesversionreturnNonec               "    || _         || _        d S N)r   r   )selfr   r   s      N/var/www/histauto/venv/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   r5   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   )rn   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colrC   alias
get_columnr   r   r   )r   r   r   nss       r   rC   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   rl   MultiIndexSelector[Self]
Any | Selfc                    t          |t                    r2|                     | j                            |j                            S |                     | j                            |                    S r   )r   r   r   r   __getitem__)r   rl   s     r   r   zPolarsSeries.__getitem__  s_    dL)) 	R++DK,C,CDK,P,PQQQ''(?(?(E(EFFFr   r.   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   r   old!Sequence[Any] | Mapping[Any, Any]newSequence[Any]return_dtypec                   | j         }|rt          || j                  nd }|                     |                    |||                    S )N)r  )r   r   r   r   replace_strict)r   r  r  r  serr   s         r   r	  zPolarsSeries.replace_strict$  sZ     k $\4=AAA 	
   !3!3C5!3!Q!QRRRr   copyr  bool | Noner4   c               0    |                      ||          S )Nr  )	__array__r   r   r  s      r   to_numpyzPolarsSeries.to_numpy4  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__7  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__<  .      !3!3N54I4I!J!JKKKr   c                v    |                      | j                            t          |                              S r   )r   r   __ne__r   r  s     r   r  zPolarsSeries.__ne__?  r  r   c                v    |                      | j                            t          |                              S r   )r   r   __ge__r   r  s     r   r  zPolarsSeries.__ge__C  r  r   c                v    |                      | j                            t          |                              S r   )r   r   __gt__r   r  s     r   r  zPolarsSeries.__gt__F  r  r   c                v    |                      | j                            t          |                              S r   )r   r   __le__r   r  s     r   r!  zPolarsSeries.__le__I  r  r   c                v    |                      | j                            t          |                              S r   )r   r   __lt__r   r  s     r   r#  zPolarsSeries.__lt__L  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   r'  zPolarsSeries.__rpow__O  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   r+  zPolarsSeries.is_nanV  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                    ddl m} | j                                        sd} ||          | j                                        S )Nr   )InvalidOperationErrorz<`median` operation not supported for non-numeric input type.)narwhals.exceptionsr4  r   
is_numericr   median)r   r4  r   s      r   r7  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     )r8  )r8  r9  r   )r   r&   r   r   ri   rM   
to_dummiescolumnspopr   r   with_columnsr   rL   r   Int8r   )r   r8  r9  r&   	has_nullsr(  output_columns_s           r   r=  zPolarsSeries.to_dummiesi  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_periodsrK  )rE  rG  rH  rI  rJ  rL  r  r   )r   r   ewm_meanr   r   r   r-  ri   r/  	otherwiser   )
r   rE  rG  rH  rI  rJ  rK  rL  extra_kwargsnative_results
             r   rQ  zPolarsSeries.ewm_meany  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 NrN  rP  rK  )rU  rV  rW  r   )r   r   r   rolling_varr   rU  rK  rV  rW  rS  s         r   rZ  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 rY  )r   r   r   rolling_stdr[  s         r   r^  zPolarsSeries.rolling_std  r\  r   c               x    | j         dk     rd|ind|i}|                      | j        j        d||d|          S NrN  rP  rK  )rU  rV  r   )r   r   r   rolling_sumr   rU  rK  rV  rS  s        r   ra  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 r`  )r   r   r   rolling_meanrb  s        r   rd  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     )re  )re  rf  )r   r   sortri   r   concatr]   r   )r   re  rf  r(  ri   s        r   ri  zPolarsSeries.sort  s     :--[%%%<<F V ..**FMM7($;$;V]]7=S=S#TUU[%%
%SSF  (((r   indicesint | Sequence[int]r   c                    | j                                                             |t          |                    }|                     |          S r   )r   clonescatterr   r   )r   rk  r   ss       r   ro  zPolarsSeries.scatter  sA    K''1G1GHH  ###r   ri  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   
proportionrS   )ri  rq  )ri  rq  r   rs  r   r   )r   r&   r   r   value_countsr   r   r   r   r~   r   )r   ri  rq  r   rs  r&   value_name_r(  s           r   rv  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)rx  )r   r   	cum_count)r   rx  s     r   rz  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   r1  s      r   r|  zPolarsSeries.__contains__  sL    	6;++E222 	6 	6 	6(++5	6r2  Self | NumericLiteralabs_tolfloatrel_tol
nans_equalc                   | j         dk     r| j        }|                                 }t          |t                    r|                    |j        d           n|}|                    |                              ||||          }| 	                                
                    |                              |          S t          |t                    r|j        n|}	| j                            |	|||          }
|                     |
          S )N)r       r   )r~  r  r  )r   r   r   r   r   litr   r   rb   r   r   r   r   )r   r   r~  r  r  r   r   
other_exprexprother_seriesr(  s              r   rb   zPolarsSeries.is_close  s     :--9D,,..B.8.M.MXu|T***SX  66$<<((GW )  D ==??))$//::4@@@'1%'F'FQu||E%%'7z & 
 
   (((r   keepr/   c                   | j                                         }|                     |dk    r|                    d          n|          S )NrM   r   )r   rs   r   r`   )r   r  r(  s      r   rs   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   rS   r  	bin_countr  r   )rn   r   r   r   r   rd   r,   r   r@  r  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   rS   r  r   r<  )r  r  r   )r   r   r   r   rd   r   	int_ranger  r  r  r	   _bins_from_bin_countr  r   r  r   )r   r  r  r   rS   r  s         r   hist_from_bin_countz PolarsSeries.hist_from_bin_count1  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=`
        r  g      ?r   r   T)eager)r   r   rr   rp   r   r  )r   r  lowerupperwidths        r   r  z!PolarsSeries._bins_from_bin_countM  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  rS   )r   r   break_pointr   )r   rh  r   )r      r   )r   r&   r   r	   r\   histr>  r   r   r   r   renamer  rn   r]   slicer@  r  r~   vstackr   )	r   r  r  r  r&   r   dfcol_namers	            r   r  zPolarsSeries._hist_from_data_  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   r3   c                    | j         dk     r+t          |           r| j                            d          nd S | j                                        S )Nr   r   r   )r   rn   r   rl   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   rn   r   rl   lastr   s    r   r  zPolarsSeries.last  sJ     7**+.t99>4;##B'''$>{!!!r   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]r8   r9   r:   r;   zMethod[Iterator[Any]]r<   r=   r>   r?   r@   rA   rB   rD   rE   rF   rG   rH   rI   rJ   rK   zMethod[bool]rL   rM   zMethod[int]rN   rO   rP   rQ   rR   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rc   rd   re   rf   rg   rh   ri   rj   rk   zMethod[Any]zMethod[float | None]rm   rn   ro   rp   zMethod[float]rq   rr   rt   ru   rv   rw   rx   ry   rz   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   r5   r   r5   )r   r   r   r   )r   r   r   r   )r   r   )r   r   r   r   )r   r+   r   r   )r   r   r   r"   )rl   r   r   r   )r   r.   r   r"   )r  r  r  r  r  r   r   r"   r   )r   r   r  r  r   r4   )r   r  r   r"   )r   r"   r   r"   )r   r$  r   r"   )r   r   )r8  r   r9  r:  r   r&   )rE  rF  rG  rF  rH  rF  rI  rF  rJ  r:  rK  r   rL  r:  r   r"   )
rU  r   rK  r   rV  r:  rW  r   r   r"   )rU  r   rK  r   rV  r:  r   r"   )re  r:  rf  r:  r   r"   )rk  rl  r   r   r   r"   )
ri  r:  rq  r:  r   rr  rs  r:  r   r&   )rx  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   r3   )r   r  )r   r  )r   r  )r   r  )r   r  )Jr   
__module____qualname__r   r   r   __annotations__r   r   propertyr   r   r   r   r   r   classmethodr   staticmethodr   r   r   r   r   r   r   r   r   rC   r   r   r   r   r   r   r   backend_versionr	  r  r  r  r  r  r  r!  r#  r'  r+  r7  r=  rQ  rZ  r^  ra  rd  ri  ro  rv  rz  r|  rb   rs   r  r  r  r  r  r  r  r  r   r  r  r  r   r   r   r   r      sO
        &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
= = = = Xd##S S S $#S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$ $ $ $A A A A !0 !0 !0 !0F Xd##
 
 
 $#
 Xd##
 
 
 $#


 

 

 



 

 

 


) 
) 
) 
)$ $ $ $A A A A,I I I I6 6 6 6) ) ) )0N N N NZ Z Z Z(Z Z Z Z8J J J J$*= *= *= *=X   # # # #
" " " "
 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                      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   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   Nr  )r  r   r   r   )r   r  r  r  r  r   r   r   r  r    sF        X X X X
V V V V V Vr   r  c                      e Zd ZdS )r  Nr  r   r   r   r  r  $  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  rn   r   r  s      r   rn   zPolarsSeriesListNamespace.len,  s]    y((**}}%%bffTll&7&;&;&=&=>>II$OOOr   rl   r1   c                   | j         }|                                 }|                                                     |                    |          j                            |                                        |          S r   )r   r   r   r   r   r  containsr   )r   rl   r   r   s       r   r  z"PolarsSeriesListNamespace.contains1  s`    y((**}}%%bffTll&7&@&@&F&FGGRRSWXXXr   Nr  )rl   r1   r   r   )r   r  r  rn   r  r   r   r   r  r  )  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  7  r  r   r  )Q
__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   narwhals.dependenciesr   r   collections.abcr   r   r   r   typesr   r    r!   pandaspdpyarrowpatyping_extensionsr"   r#   r$   r   r%   r&   r   r(   r)   r*   narwhals.dtypesr+   narwhals.seriesr,   narwhals.typingr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  r7   	frozensetr   r   r  r  r  r  r  r  r   r   r   <module>r     s|   " " " " " " " ? ? ? ? ? ? ? ? ? ? ? ? ? ?                                     5 4 4 4 4 4 4 4 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P P PR R ji	/ i	/ i	/ i	/ i	/ i	/ i	/ i	/X) ) ) ) ).|RY/FG ) ) ).    2<3JK  
V V V V V0ry1HIV V V    -lBI.EF  
Y Y Y Y Y.|RY/FGY Y Y    0ry1HI    r   