def _install()

in core/maxframe/dataframe/groupby/__init__.py [0:0]


def _install():
    from ..core import DATAFRAME_GROUPBY_TYPE, DATAFRAME_TYPE, GROUPBY_TYPE, SERIES_TYPE
    from .aggregation import agg
    from .apply import groupby_apply
    from .core import groupby
    from .cum import cumcount, cummax, cummin, cumprod, cumsum
    from .fill import bfill, ffill, fillna
    from .getitem import df_groupby_getitem
    from .head import head
    from .sample import groupby_sample
    from .transform import groupby_transform

    for cls in DATAFRAME_TYPE:
        setattr(cls, "groupby", groupby)

    for cls in SERIES_TYPE:
        setattr(cls, "groupby", groupby)

    for cls in GROUPBY_TYPE:
        setattr(cls, "agg", agg)
        setattr(cls, "aggregate", agg)

        setattr(cls, "sum", lambda groupby, **kw: agg(groupby, "sum", **kw))
        setattr(cls, "prod", lambda groupby, **kw: agg(groupby, "prod", **kw))
        setattr(cls, "max", lambda groupby, **kw: agg(groupby, "max", **kw))
        setattr(cls, "min", lambda groupby, **kw: agg(groupby, "min", **kw))
        setattr(cls, "count", lambda groupby, **kw: agg(groupby, "count", **kw))
        setattr(cls, "size", lambda groupby, **kw: agg(groupby, "size", **kw))
        setattr(cls, "mean", lambda groupby, **kw: agg(groupby, "mean", **kw))
        setattr(cls, "var", lambda groupby, **kw: agg(groupby, "var", **kw))
        setattr(cls, "std", lambda groupby, **kw: agg(groupby, "std", **kw))
        setattr(cls, "all", lambda groupby, **kw: agg(groupby, "all", **kw))
        setattr(cls, "any", lambda groupby, **kw: agg(groupby, "any", **kw))
        setattr(cls, "skew", lambda groupby, **kw: agg(groupby, "skew", **kw))
        setattr(cls, "kurt", lambda groupby, **kw: agg(groupby, "kurt", **kw))
        setattr(cls, "kurtosis", lambda groupby, **kw: agg(groupby, "kurtosis", **kw))
        setattr(cls, "sem", lambda groupby, **kw: agg(groupby, "sem", **kw))
        setattr(cls, "nunique", lambda groupby, **kw: agg(groupby, "nunique", **kw))
        setattr(cls, "median", lambda groupby, **kw: agg(groupby, "median", **kw))

        setattr(cls, "apply", groupby_apply)
        setattr(cls, "transform", groupby_transform)

        setattr(cls, "cumcount", cumcount)
        setattr(cls, "cummin", cummin)
        setattr(cls, "cummax", cummax)
        setattr(cls, "cumprod", cumprod)
        setattr(cls, "cumsum", cumsum)

        setattr(cls, "head", head)

        setattr(cls, "sample", groupby_sample)

        setattr(cls, "ffill", ffill)
        setattr(cls, "bfill", bfill)
        setattr(cls, "backfill", bfill)
        setattr(cls, "fillna", fillna)

    for cls in DATAFRAME_GROUPBY_TYPE:
        setattr(cls, "__getitem__", df_groupby_getitem)