L ii"ddlmZddlZddlmZmZmZddlZddl m Z ddl m Z mZddlmZddlmZddlmZmZer,ddlmZmZmZdd lmZdd lmZdd lmZm Z m!Z!dd l"m#Z#dd l$m%Z%GddedZ&y)) annotationsN) TYPE_CHECKINGAnyClassVar)cast_to_comparable_string_typesextract_py_scalar) EagerGroupBy)!evaluate_output_names_and_aliases)generate_temporary_column_namerequires)IteratorMappingSequence)ArrowDataFrame) ArrowExpr)AggregateOptions Aggregation Incomplete)NarwhalsAggregation)UniqueKeepStrategyc"eZdZUddddddddd dd d d d dZded<ddddZded<edZded<edZded<edZ ded<edZ ded<edZ ded< d%dZ d&d Z d'd!Zd(d"Zd)d#Zy$)* ArrowGroupBysummeanapproximate_medianmaxminstddevvariancecountcount_distinctallanyfirstlast)rrmedianrrstdvarlenn_uniquer r"r#r$r%z3ClassVar[Mapping[NarwhalsAggregation, Aggregation]] _REMAP_AGGS)r#r$r%z2ClassVar[Mapping[UniqueKeepStrategy, Aggregation]] _REMAP_UNIQUE)r)r*z(ClassVar[frozenset[NarwhalsAggregation]]_OPTION_COUNT_ALL)r _OPTION_COUNT_VALID)r$r%_OPTION_ORDERED)r'r(_OPTION_VARIANCE)r#r"r_OPTION_SCALARc||_|j||\}|_|_|r|j |jn||_t j|jj|j|_ ||_ y)N)keys) _df _parse_keys_keys_output_key_names drop_nulls_compliant_framepa TableGroupBy compliantnative_grouped_drop_null_keys)selfdfr3drop_null_keysframes ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/narwhals/_arrow/group_by.py__init__zArrowGroupBy.__init__>sp484D4DRd4D4S1tz41@N 0 0 D''T2F d44 4__%0F d66 6__,7F d11 1..;F d22 2"//GOGV--m=14.0.0', found version z3. See https://github.com/apache/arrow/issues/36709) skip_nulls) r<_backend_version _use_threadsr=r:r;r3r _unparse_versionNotImplementedErrorrOrR)r@rUnamebackend_versionr=msgs rDrSzArrowGroupBy._ordered_agg_s..99 g %'*>*>^^**FoofgllNG w &$ !!)!:!:?!K NOCD  &c* *11UCCCrFc @|j|g}|jj}|jj}g|j|j}|j}|D]G}t ||j |\}} |j} t| j} t| dk(r| djdk7r d} t| |j| d|j|jdd|j|jddtjdf|j!||\}} }|j#| |j#|Dcgc] }|d |  c}|j#|Dcgc]}|| |f c}J|j%|}t'j(t}t+|D]\}}||j|t-|j.t-|k(r!t|j.t|k(sd |d |j.d } t| |j.Dcgc]}||j1d}}|Dcgc]}|| }}|j3|}|j j5|j7t9t;|j|jScc}wcc}wcc}wcc}w) Nrr)z_Safety assertion failed, please report a bug to https://github.com/narwhals-dev/narwhals/issues_countr r"rI_z"Safety assertion failed, expected z got zH, please report a bug at https://github.com/narwhals-dev/narwhals/issues)_ensure_all_simpler6copyr7r>r r< _metadatalistop_nodes_reversedr)rcAssertionErrorappendrOrQrZextend aggregate collections defaultdict enumerateset column_namespoprename_columns _with_nativerenamedictzip)r@exprsaggsexpected_pyarrow_column_namesnew_column_namesexcluderUrV output_namesaliasesmdrnrerXrW output_name result_simpleexpected_old_names_indicesidxitem index_mapis rDaggzArrowGroupBy.aggzs  &GI37::??3D%&*jjoo&78DJJ8!7!78-- D$Ednng% !L'B $R%9%9%; < $%*$Q',,5{C(-- '' 3-44 1 f5MN TZZ]GR__%5PQR-1-@-@$-O *G]F  # #G , ) 0 0EQRkK=-1R  KKIUV++}f5V - 4 ))$/ z(ArrowGroupBy.__iter__..s /SeCj /s separatorreplace) null_handlingnull_replacementr)rfield_columnc32K|]}t|ywr)r)rels rDrz(ArrowGroupBy.__iter__..s:'+:s)r r<rr=rr6rObinary_join_element_wise add_columnuniquerzfilterequaldrop simple_selectrowtupler4) r@ col_token null_tokenitseparator_scalar concat_str key_valuesvtrrs @rD__iter__zArrowGroupBy.__iter__sJ2t~~55 1 %%> /DJJ / ;=   "$!AZ>Z?H@N< .  .2 .  .  .E&E.7E EE&D&D.AD 1D69 vrFr)rrr)' __future__rrstypingrrrpyarrowr:pyarrow.computecomputerOnarwhals._arrow.utilsrrnarwhals._compliantr narwhals._expression_parsingr narwhals._utilsr r collections.abcr rrnarwhals._arrow.dataframernarwhals._arrow.exprrnarwhals._arrow.typingrrrnarwhals._compliant.typingrnarwhals.typingrrrrFrDrsX"//T,JD;;8. ?2s< LMsrF