Sindbad~EG File Manager
�
Mٜguz � � � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
mZmZm
Z
mZmZmZmZ ddlZddlZddlmZmZ dd lmZ dd
lmZ ddlmZmZmZ ddl m!Z! dd
l"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) ddl*m+Z+m,Z, ddl-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8m9Z9 ddl:m;c m<Z= ddl>m?Z? ddl@mAZAmBZB ddlCmDZDmEZEmFZFmGZGmHZHmIZI ddlJmKZKmLZLmMZMmNZN ddlOmPZP ddlQmRZR ddlSmTZT ddlUmVZV e
r.ddlWmXZXmYZYmZZZ ddl[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe ddlfmgZg ddlhmiZi eejedef f Zk ed � Zl G d!� d"e� Zm G d#� d$eDeP � Zn G d%� d&eDe? � Zo d(d'�Zpy))z�
Define the SeriesGroupBy and DataFrameGroupBy
classes that hold the groupby interfaces (and some implementations).
These are user facing as the result of the ``df.groupby(...)`` operations,
which here returns a DataFrameGroupBy object.
� )�annotations)�abc)�partial)�dedent)�
TYPE_CHECKING�Any�Callable�Literal�
NamedTuple�TypeVar�Union�castN)�Interval�lib)�
duplicated)�SpecificationError)�Appender�Substitution�doc)�find_stack_level)�ensure_int64�is_bool�is_dict_like�is_integer_dtype�is_list_like�is_numeric_dtype� is_scalar)�CategoricalDtype�
IntervalDtype)�is_hashable)�isna�notna)�
algorithms)�GroupByApply�maybe_mangle_lambdas�reconstruct_func�validate_func_kwargs�warn_alias_replacement)� DataFrame)�base�ops)�GroupBy�GroupByPlot�_agg_template_frame�_agg_template_series�_apply_docs�_transform_template)�Index�
MultiIndex�all_indexes_same�
default_index)�Series)�get_group_index)�maybe_use_numba)�boxplot_frame_groupby)�Hashable�Mapping�Sequence)
� ArrayLike�Axis�AxisInt�CorrelationMethod�
FillnaOptions�
IndexLabel�Manager� Manager2D�
SingleManager�TakeIndexer)�Categorical)�NDFrame.�ScalarResultc �&