
    -Ph                    ~    d dl mZ d dlmZmZ d dlmZ erd dlmZ d dl	m
Z
 d dlmZ  G d ded	                   Zd
S )    )annotations)TYPE_CHECKINGSequence)LazyGroupBy)Column)SparkLikeLazyFrame)SparkLikeExprc                      e Zd Zdd	ZddZdS )SparkLikeLazyGroupBydfr   keys'Sequence[SparkLikeExpr] | Sequence[str]drop_null_keysboolreturnNonec                  |                      ||          \  }| _        | _        |r|                    | j                  n|| _        d S )N)r   )_parse_keys_keys_output_key_names
drop_nulls_compliant_frame)selfr   r   r   frames        ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/narwhals/_spark_like/group_by.py__init__zSparkLikeLazyGroupBy.__init__   sQ     594D4DRd4D4S4S1tz41@N Y 0 0 < < <TY    exprsr	   c                   t          |                     |                    x}r!  | j        j        j        | j         j        | n* | j        j        j        | j                                         }| j        	                    |          
                    t          t          | j        | j                                      S )N)list_evaluate_exprs	compliantnativegroupByr   aggselectdropDuplicates_with_nativerenamedictzipr   )r   r   agg_columnsresults       r   r%   zSparkLikeLazyGroupBy.agg   s      $D$8$8$?$?@@@L:)DN!)4:6:KHH-&-tz:IIKK 	 ~**62299TZ!78899
 
 	
r   N)r   r   r   r   r   r   r   r   )r   r	   r   r   )__name__
__module____qualname__r   r%    r   r   r   r      s@        	Z 	Z 	Z 	Z	
 	
 	
 	
 	
 	
r   r   )r   r	   r   N)
__future__r   typingr   r   narwhals._compliantr   sqlframe.base.columnr   narwhals._spark_like.dataframer   narwhals._spark_like.exprr	   r   r1   r   r   <module>r8      s    " " " " " " * * * * * * * * + + + + + + 8++++++AAAAAA777777
 
 
 
 
;'VW 
 
 
 
 
r   