
    -PhWc                       d dl mZ d dlmZmZmZ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 d dlmZmZmZ d dlmZ er[d dlmZ d dlmZ d dlZd dlZd d	l m!Z!m"Z" d d
l#m$Z$m%Z% d dl&m'Z' d dl(m)Z) d dlm*Z*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4  ed          Z5 e6g d          Z7 G d d          Z8 G d d          Z9 G d d          Z: G d d          Z; G d d          Z< G d d          Z=dS )    )annotations)TYPE_CHECKINGAnyIterableIteratorMappingSequencecastoverloadN)catch_polars_exceptionextract_args_kwargsextract_nativenarwhals_to_native_dtypenative_to_narwhals_dtype)Implementationrequiresvalidate_backend_version)is_numpy_array_1d)
ModuleType)TypeVar)SelfTypeIs)MethodPolarsDataFrame)
PolarsExprPolarsNamespace)Version_FullContext)DType)Series)Into1DArray	IntoDTypeMultiIndexSelector_1DArrayT)G__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clipcountcum_maxcum_mincum_prodcum_sumdiff
drop_nullsexp	fill_nullfiltergather_everyhead
is_between	is_finiteis_first_distinctis_inis_last_distinctis_null	is_sorted	is_uniqueitemlenlogmaxmeanminmoden_unique
null_countquantilerankroundsampleshiftskewstdsumtailto_arrowto_frameto_list	to_pandasuniquevarzip_withc                  2   e Zd ZU dd	ZddZddZddZddZddZe	ddddd            Z
edd!            Ze	dd"            Ze	dd$            Zdd&Zdd'Zedd(            Zedd+            Zedd-            Zdd0Zdd2Zdd5Zdd7Zedd8            Zedd:            Zedd;            Zdd<Zdd@ZddBZ ej        dC          ddI            ZdddJddNZ ddOZ!ddRZ"ddSZ#ddTZ$ddUZ%ddVZ&ddWZ'ddYZ(ddZZ)dd[Z*dd_Z+d dhZ, ej        dC          ddl            Z- ej        dC          ddm            Z.ddnZ/ddoZ0ddrZ1ddvZ2dd{Z3dd}Z4dd~Z5ddZ6ddZ7ed	d            Z8ed
d            Z9edd            Z:edd            Z;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<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dd            Z=dS (  PolarsSeriesseries	pl.Seriesbackend_versiontuple[int, ...]versionr   returnNonec                   || _         || _        t          j        | _        || _        t          | j        | j                   d S N)_native_series_backend_versionr   POLARS_implementation_versionr   )selfrp   rr   rt   s       W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/narwhals/_polars/series.py__init__zPolarsSeries.__init__|   sB     *0 /-4 !5t7LMMMMM    strc                    dS )Nro    r~   s    r   __repr__zPolarsSeries.__repr__   s    ~r   r   c                <    ddl m}  || j        | j                  S )Nr   r   rr   rt   )narwhals._polars.namespacer   rz   r}   )r~   r   s     r   __narwhals_namespace__z#PolarsSeries.__narwhals_namespace__   s7    >>>>>> 14=
 
 
 	
r   r   c                    | S rx   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   r{   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                F    |                      | j        | j        |          S Nr   )	__class__nativerz   )r~   rt   s     r   _with_versionzPolarsSeries._with_version   s)    ~~K)>  
 
 	
r    N)namedtypedataIterable[Any]contextr   r   r   IntoDType | Nonec                   |j         }|j        }|rt          |||          nd }t          j        |t          d|          |          }|                     ||          S )NSequence[Any])r   valuesr   r   )r}   rz   r   plr!   r
   from_native)	clsr   r   r   r   rt   rr   dtype_plr   s	            r   from_iterablezPolarsSeries.from_iterable   sm     "!2INX$UG_EEETX 	
 T/4-H-HPXYYYvw777r   objpl.Series | AnyTypeIs[pl.Series]c                6    t          | t          j                  S rx   )
isinstancer   r!   )r   s    r   
_is_nativezPolarsSeries._is_native   s    #ry)))r   c              2     | ||j         |j                  S r   )rz   r}   )r   r   r   s      r   r   zPolarsSeries.from_native   s(    s'":GDT
 
 
 	
r   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}   rp   r   s    r   to_narwhalszPolarsSeries.to_narwhals   s    }##D#777r   c                F    |                      || j        | j                  S r   )r   rz   r}   r~   rp   s     r   _with_nativezPolarsSeries._with_native   s)    ~~D$94=  
 
 	
r   c                    d S rx   r   r   s     r   _from_native_objectz PolarsSeries._from_native_object   s    >Acr   pl.DataFramer   c                    d S rx   r   r   s     r   r   z PolarsSeries._from_native_object   s    LOCr   r&   c                    d S rx   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~   rp   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   r   c                Z    |                                  j                            |           S rx   )r   _expr_from_seriesr   s    r   _to_exprzPolarsSeries._to_expr   s%    **,,2??EEEr   attrr   c                l     t           vr! j        j         d d}t          |          d fd}|S )	Nz has not attribute 'z'.argsr   kwargsru   c                     t          | |          \  }}                     t          j                  |i |          S rx   )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   ru   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 rx   )rV   r   r   s    r   __len__zPolarsSeries.__len__   s    4;r   c                    | j         j        S rx   )r   r   r   s    r   r   zPolarsSeries.name   s    {r   r    c                L    t          | j        j        | j        | j                  S rx   )r   r   r   r}   rz   r   s    r   r   zPolarsSeries.dtype   s%    'Kt}d.C
 
 	
r   c                    | j         S rx   )ry   r   s    r   r   zPolarsSeries.native   s    ""r   c                \    |                      | j                            |                    S rx   )r   r   alias)r~   r   s     r   r   zPolarsSeries.alias   s&    ''(9(9$(?(?@@@r   rU   MultiIndexSelector[Self]
Any | Selfc                    t          |t                    r2|                     | j                            |j                            S |                     | j                            |                    S rx   )r   ro   r   r   __getitem__)r~   rU   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                  }|                     | j                            |                    S rx   )r   r}   rz   r   r   r
   )r~   r   r   s      r   r
   zPolarsSeries.cast  s<    +E4=$BWXX  !1!1(!;!;<<<r      old!Sequence[Any] | Mapping[Any, Any]newr   return_dtypec                   | j         }|rt          || j        | j                  nd }|                     |                    |||                    S )N)r   )r   r   r}   rz   r   replace_strict)r~   r   r   r   serr   s         r   r   zPolarsSeries.replace_strict  s_     k $\4=$BWXXX 	
   !3!3C5!3!Q!QRRRr   copyr   bool | Noner%   c               0    |                      ||          S )Nr   )	__array__r~   r   r   s      r   to_numpyzPolarsSeries.to_numpy  s    ~~e$~///r   c                   | j         dk     r| j                            |          S | j                            ||          S )N)r         r   )r   r   )rz   r   r   r   s      r   r   zPolarsSeries.__array__  sD     ;..;((u(555{$$5t$<<<r   otherobjectc                v    |                      | j                            t          |                              S rx   )r   r   __eq__r   r~   r   s     r   r   zPolarsSeries.__eq__   .      !3!3N54I4I!J!JKKKr   c                v    |                      | j                            t          |                              S rx   )r   r   __ne__r   r   s     r   r   zPolarsSeries.__ne__#  r   r   c                v    |                      | j                            t          |                              S rx   )r   r   __ge__r   r   s     r   r  zPolarsSeries.__ge__'  r   r   c                v    |                      | j                            t          |                              S rx   )r   r   __gt__r   r   s     r   r  zPolarsSeries.__gt__*  r   r   c                v    |                      | j                            t          |                              S rx   )r   r   __le__r   r   s     r   r  zPolarsSeries.__le__-  r   r   c                v    |                      | j                            t          |                              S rx   )r   r   __lt__r   r   s     r   r  zPolarsSeries.__lt__0  r   r   PolarsSeries | Anyc                    | j                             t          |                    }| j        dk     r|                    | j                  }|                     |          S )N)r      r   )r   __rpow__r   rz   r   r   r   )r~   r   results      r   r  zPolarsSeries.__rpow__3  sT    %%nU&;&;<< :--\\$),,F  (((r   c                   	 | j                                         }n(# t          $ r}t          || j                  d d }~ww xY w| j        dk     rpt          j        | j                                                                       |          }| 	                    t          j
        |          | j                           S | 	                    |          S )N)r      )r   is_nan	Exceptionr   rz   r   whenis_not_nullthenr   selectr   )r~   native_is_naner  s       r   r  zPolarsSeries.is_nan:  s    	M K..00MM 	M 	M 	M(D,ABBL	M 7**WT[446677<<]KKF$$RYv%6%6ty%ABBB  ///    
A<Ac                    ddl m} | j                                        sd} ||          | j                                        S )Nr   )InvalidOperationErrorz<`median` operation not supported for non-numeric input type.)narwhals.exceptionsr  r   
is_numericr   median)r~   r  r   s      r   r  zPolarsSeries.medianD  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      )r  )r  r  r   )r   r   rz   r   rR   r<   
to_dummiescolumnspopr   r  with_columnsr   r;   r
   Int8r   )r~   r  r  r   	has_nullsr  output_columns_s           r   r"  zPolarsSeries.to_dummiesM  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_periodsr0  )r*  r,  r-  r.  r/  r1  r   r   )rz   r   ewm_meanr   r   r  r  rR   r  	otherwiser   )
r~   r*  r,  r-  r.  r/  r0  r1  extra_kwargsnative_results
             r   r6  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 Nr3  r5  r0  )r:  r;  r<  r   )rz   r   r   rolling_varr~   r:  r0  r;  r<  r8  s         r   r?  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 r>  )rz   r   r   rolling_stdr@  s         r   rC  zPolarsSeries.rolling_std  rA  r   c               x    | j         dk     rd|ind|i}|                      | j        j        d||d|          S Nr3  r5  r0  )r:  r;  r   )rz   r   r   rolling_sumr~   r:  r0  r;  r8  s        r   rF  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 rE  )rz   r   r   rolling_meanrG  s        r   rI  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      )rJ  )rJ  rK  )rz   r   sortrR   r   concatrJ   r   )r~   rJ  rK  r  rR   s        r   rN  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 rx   )r   clonescatterr   r   )r~   rP  r   ss       r   rT  zPolarsSeries.scatter  sA    K''1G1GHH  ###r   rN  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   
proportionrA   )rN  rV  )rN  rV  r   rX  r   r   )r   r   rz   r   value_countsr  r   r   colre   r   )r~   rN  rV  r   rX  r   value_name_r  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         dk     r1| j                                         }|                    |          }n| j                            |          }|                     |          S )N)r   r      )r^  )rz   r   rR   rE   	cum_countr   )r~   r^  not_null_seriesr  s       r   ra  zPolarsSeries.cum_count  sj     :--#{22444O$,,W,==FF[**7*;;F  (((r   c                    	 | j                             |          S # t          $ r}t          || j                  d d }~ww xY wrx   )r   __contains__r  r   rz   )r~   r   r  s      r   rd  zPolarsSeries.__contains__  sV    	M;++E222 	M 	M 	M(D,ABBL	Mr  binslist[float | int] | None	bin_count
int | Noneinclude_breakpointc                  ddl m} |t          |          dk    s|dk    rg }|r4|                    t	          j        dg t          j                             |                    t	          j        dg t          j                              |j        t	          j	        |          |           S | j
                                        dk     r|=|dd          t	          j        t          |          dz
  t          j        d	          d
}ni||dk    rdgdgd
}nY|F|dk    r@t	          j        d|dz   d          |z  t	          j        |t          j        d	          d
}nd}t          |          |s|d=  |j        t	          j	        |          |           S | j        dk     r|t#          d| j
                                                  }t#          d| j
                                                  }	||	k    rd|z  }
|dz  }|	dz  }	n|	|z
  |z  }
t	          j        d|dz   d          |
z  |z                                   }d }| j
        }| j        dk     s|(|                    |                                d           }|                    ||d|          }|sdg|_        | j        dk     r|r|                    ddi          }| j        dk     rT|Rt	          j        dt          |                    }|                    |dk    |t          |          dz
  k     z            }| j        dk     r.|,|dxx         ||d         k                                    z  cc<    |j        ||           S )Nr   r   r   
breakpointr   rA   r   T)nr   eager)rk  rA   g      ?)rm  zCcongratulations, you entered unreachable code - please report a bug)r   r!  floatg      ?F)rg  include_categoryri  )r   r   break_point)r      )r   rA   )r   r   rV   appendr   r!   Float64UInt32r   r   r   rA   zerosInt64	int_ranger   rz   r
   rZ   rX   ri   setr  histr#  renamerJ   re   )r~   re  rg  ri  r   r   	data_dictr   lowerupperwidthrp   dfrs                 r   ry  zPolarsSeries.hist  s    	?>>>>>TaY!^^$&D! KBIlBbjIIIJJJKK	'2RY???@@@.?.r|D/A/A4PPPP;"""&qrr(XD		ARXTRRR 		 'Y!^^,/5A3??		'Y]]"$,q)a-t"L"L"Ly"XX	NNN 		 Z  %S)))% ,l+.?.r|I/F/FPTUUUU !G++!$+//"3"344E$+//"3"344E~~I)3LIM>>>FNWWYYDI  7**d.>ZZ66F[["1	  
 
 " 	#!BJ 6)).@)M<899B  7**t/?QB((AAEa#b''A+o677B  7**t/?zNNNva055777NNN**2t<<<<r   c                    | j         S rx   )r   r   s    r   	to_polarszPolarsSeries.to_polarsC  s
    {r   PolarsSeriesDateTimeNamespacec                     t          |           S rx   )r  r   s    r   dtzPolarsSeries.dtF  s    ,T222r   PolarsSeriesStringNamespacec                     t          |           S rx   )r  r   s    r   r   zPolarsSeries.strJ      *4000r   PolarsSeriesCatNamespacec                     t          |           S rx   )r  r   s    r   catzPolarsSeries.catN  s    '---r   PolarsSeriesStructNamespacec                     t          |           S rx   )r  r   s    r   structzPolarsSeries.structR  r  r   zMethod[Self]r'   r(   r)   r*   zMethod[Iterator[Any]]r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   zMethod[bool]r;   r<   zMethod[int]r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   zMethod[Any]rV   rW   rX   zMethod[float]rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   zMethod[float | None]rc   rd   re   rf   zMethod[pa.Array[Any]]rg   zMethod[PolarsDataFrame]rh   zMethod[list[Any]]ri   zMethod[pd.Series[Any]]rj   rk   rl   rm   PolarsSeriesListNamespacec                     t          |           S rx   )r  r   s    r   listzPolarsSeries.list  s    (...r   )rp   rq   rr   rs   rt   r   ru   rv   )ru   r   )ru   r   )ru   r   )ru   r   )rt   r   ru   r   )
r   r   r   r   r   r   r   r   ru   r   )r   r   ru   r   )r   rq   r   r   ru   r   )r   r"   r   r   ru   r   )ru   r   )rp   rq   ru   r   )rp   r   ru   r   )rp   r&   ru   r&   )rp   r   ru   r   )ru   r   r   r   ru   r   )ru   r   )ru   r    )ru   rq   )r   r   ru   r   )rU   r   ru   r   )r   r#   ru   r   )r   r   r   r   r   r   ru   r   rx   )r   r   r   r   ru   r%   )r   r   ru   r   )r   r   ru   r   )r   r  ru   r   )ru   r   )r  r   r  r  ru   r   )r*  r+  r,  r+  r-  r+  r.  r+  r/  r  r0  r   r1  r  ru   r   )
r:  r   r0  r   r;  r  r<  r   ru   r   )r:  r   r0  r   r;  r  ru   r   )rJ  r  rK  r  ru   r   )rP  rQ  r   r   ru   r   )
rN  r  rV  r  r   rW  rX  r  ru   r   )r^  r  ru   r   )r   r   ru   r  )re  rf  rg  rh  ri  r  ru   r   )ru   r  )ru   r  )ru   r  )ru   r  )ru   r  )>r   
__module____qualname__r   r   r   r   r   r   classmethodr   staticmethodr   r   r   r   r   r   r   r   r   r   propertyr   r   r   r   r   r
   r   rr   r   r   r   r   r   r  r  r  r  r  r  r  r"  r6  r?  rC  rF  rI  rN  rT  r[  ra  rd  ry  r  r  r   r  r  __annotations__r  r   r   r   ro   ro   {   s        N N N N   
 
 
 
   " " " "
 
 
 

  "&8 8 8 8 8 [8$ * * * \* 
 
 
 [

 8 8 8 [88 8 8 8
 
 
 

 AAA XAOOO XO666 X6
 
 
 
F F F F	 	 	 	              X  
 
 
 X

 # # # 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,) ) ) )M M M MV= V= V= V=p    3 3 3 X3 1 1 1 X1 . . . X. 1 1 1 X1 ########""""####%%%%%%%%/ / / X/ / /r   ro   c                      e Zd ZddZdd	Zd
S )r  rp   ro   ru   rv   c                    || _         d S rx   _compliant_seriesr   s     r   r   z&PolarsSeriesDateTimeNamespace.__init__      !'r   r   r   r   c                     d fd}|S )Nr   r   r   ru   c                     t          | |          \  }}j                             t          j        j        j                  |i |          S rx   )r   r  r   r   r   r  r   s       r   r   z7PolarsSeriesDateTimeNamespace.__getattr__.<locals>.func  sV    +D&99IC)66?.58$??MMM  r   r   r   r~   r   r   s   `` r   r   z)PolarsSeriesDateTimeNamespace.__getattr__  .    	 	 	 	 	 	 	 r   Nrp   ro   ru   rv   r  r   r  r  r   r   r   r   r   r  r    <        ( ( ( (     r   r  c                      e Zd ZddZdd	Zd
S )r  rp   ro   ru   rv   c                    || _         d S rx   r  r   s     r   r   z$PolarsSeriesStringNamespace.__init__  r  r   r   r   r   c                     d fd}|S )Nr   r   r   ru   c                     t          | |          \  }}j                             t          j        j        j                  |i |          S rx   )r   r  r   r   r   r   r   s       r   r   z5PolarsSeriesStringNamespace.__getattr__.<locals>.func  V    +D&99IC)66@.594@@#NNN  r   r   r   r  s   `` r   r   z'PolarsSeriesStringNamespace.__getattr__  r  r   Nr  r  r  r   r   r   r  r    r  r   r  c                      e Zd ZddZdd	Zd
S )r  rp   ro   ru   rv   c                    || _         d S rx   r  r   s     r   r   z!PolarsSeriesCatNamespace.__init__  r  r   r   r   r   c                     d fd}|S )Nr   r   r   ru   c                     t          | |          \  }}j                             t          j        j        j                  |i |          S rx   )r   r  r   r   r   r  r   s       r   r   z2PolarsSeriesCatNamespace.__getattr__.<locals>.func  r  r   r   r   r  s   `` r   r   z$PolarsSeriesCatNamespace.__getattr__  r  r   Nr  r  r  r   r   r   r  r    r  r   r  c                  &    e Zd ZddZddZdd
ZdS )r  rp   ro   ru   rv   c                    || _         d S rx   )_seriesr   s     r   r   z"PolarsSeriesListNamespace.__init__  s    r   c                *   | j         j        }|j                                        }| j         j        dk     rt          j        t          j        |                                           	                    |          
                    d                     |j                                     t          j                              }n6| j         j        dk     r&|                    t          j                              }| j                             |          S )N)r   r
  )r      )r  r   r  rV   rz   r   r  r  rR   r  r7  r   r
   rt  r   )r~   native_seriesr9  s      r   rV   zPolarsSeriesListNamespace.len  s    +%*..00<(722I..0001166}EEOOPTUU  ""&$ry{{"3"3 M \*W44)..ry{{;;M|((777r   r   r   r   c                     d fd}|S )Nr   r   r   ru   c                     t          | |          \  }}j                             t          j        j        j                  |i |          S rx   )r   r  r   r   r   r  r   s       r   r   z3PolarsSeriesListNamespace.__getattr__.<locals>.func  sT    +D&99IC<,,7+0$77EEE  r   r   r   r  s   `` r   r   z%PolarsSeriesListNamespace.__getattr__  r  r   Nr  )ru   ro   r  )r   r  r  r   rV   r   r   r   r   r  r    sP           8 8 8 8     r   r  c                      e Zd ZddZdd	Zd
S )r  rp   ro   ru   rv   c                    || _         d S rx   r  r   s     r   r   z$PolarsSeriesStructNamespace.__init__  r  r   r   r   r   c                     d fd}|S )Nr   r   r   ru   c                     t          | |          \  }}j                             t          j        j        j                  |i |          S rx   )r   r  r   r   r   r  r   s       r   r   z5PolarsSeriesStructNamespace.__getattr__.<locals>.func  sV    +D&99IC)66C.5<dCCSQDQQ  r   r   r   r  s   `` r   r   z'PolarsSeriesStructNamespace.__getattr__  r  r   Nr  r  r  r   r   r   r  r    r  r   r  )>
__future__r   typingr   r   r   r   r   r	   r
   r   polarsr   narwhals._polars.utilsr   r   r   r   r   narwhals._utilsr   r   r   narwhals.dependenciesr   typesr   r   pandaspdpyarrowpatyping_extensionsr   r   r   r   r   narwhals._polars.exprr   r   r   r   r   narwhals.dtypesr    narwhals.seriesr!   narwhals.typingr"   r#   r$   r%   r&   	frozensetr   ro   r  r  r  r  r  r   r   r   <module>r     s3   " " " " " "	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                  O N N N N N N N N N 3 3 3 3 3 3       ........BBBBBBBB000000::::::55555555%%%%%%&&&&&&TTTTTTTTTTTTA IH H HJ J Ze/ e/ e/ e/ e/ e/ e/ e/P                            :         r   