
    -Ph                        d dl mZ d dlmZmZ d dlmZ erd dlmc m	Z
 d dlmZ d dlmZ  G d ded	                   ZdS )
    )annotations)TYPE_CHECKINGSequence)LazyGroupByN)IbisLazyFrame)IbisExprc                      e Zd Zdd	ZddZdS )IbisGroupBydfr   keys"Sequence[str] | Sequence[IbisExpr]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        W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/narwhals/_ibis/group_by.py__init__zIbisGroupBy.__init__   sQ     594D4DRd4D4S4S1tz41@N Y 0 0 < < <TY    exprsr   c                $   | j         j        }| j                              |                    | j                  j        |                     |                                         t          t          | j        | j
                                      S )N)	compliantnative_with_nativegroup_byr   	aggregate_evaluate_exprsrenamedictzipr   )r   r   r    s      r   aggzIbisGroupBy.agg   st    &~**1FOODJ''143G3G3N3NO
 

&c$*d&<==>>
?
?	@r   N)r   r   r   r   r   r   r   r   )r   r   r   r   )__name__
__module____qualname__r   r(    r   r   r
   r
      sF        	Z 	Z 	Z 	Z@ @ @ @ @ @r   r
   )r   r   zir.Value)
__future__r   typingr   r   narwhals._compliantr   ibis.expr.typesexprtypesirnarwhals._ibis.dataframer   narwhals._ibis.exprr   r
   r,   r   r   <module>r6      s    " " " " " " * * * * * * * * + + + + + + -         666666,,,,,,@ @ @ @ @+EF @ @ @ @ @r   