Pandas.agg的所有功能是什么?

ndasle7k  于 2023-01-07  发布在  其他
关注(0)|答案(3)|浏览(163)

假设我有这样的代码:

meanData = all_data.groupby(['Id'])[features].agg('mean')

这将按'Id'值对数据进行分组,选择所需的features,并通过计算每个组的'mean'来聚合每个组。
documentation中,我知道.agg的参数可以是一个字符串,该字符串命名了一个将用于聚合数据的函数。
我还发现有效的字符串包括'mean''median''sum''max''min''std'(标准差)。
但是,我在文档中找不到这些名称的完整列表。使用.agg还可以做什么?

pdtvr36n

pdtvr36n1#

您可以在GroupBy § Computations / descriptive stats下的文档中找到完整列表。
List当前包含许多聚合函数:
全部、任意、bfill、回填、计数、累计计数、累计最大值、累计最小值、累计生产、累计和、填充、第一个、头、最后一个、最大值、平均值、中值、最小值、n组、第n个、ohlc、填充、生产、等级、pct_change、大小、SEM、标准、总和、变量、尾部
以下方法在SeriesGroupByDataFrameGroupBy对象中都可用,但可能略有不同,通常是因为DataFrameGroupBy版本通常允许指定轴参数,并且通常允许指定一个参数,该参数指示是否将应用程序限制为特定数据类型的列。
全部,任意,回填,bfill,校正,计数,覆盖,累计计数,累计最大,累计最小,累计生产,累计和,描述,差异,填充,填充na,过滤器,历史记录,idxmax,idxmin,mad,nunique,填充,pct_change,绘图,分位数,排名,重采样,采样,移位,大小,倾斜,采用,tshift,value_counts
以下方法仅适用于SeriesGroupBy对象。
历史,n最大,n最小,唯一,单调递增,单调递减
以下方法仅适用于DataFrameGroupBy对象。
箱线图

blmhpbnm

blmhpbnm2#

pandas/core/base.py的相关部分(here,第298行):

def _try_aggregate_string_function(self, arg, *args, **kwargs):
    """
    if arg is a string, then try to operate on it:
    - try to find a function (or attribute) on ourselves
    - try to find a numpy function
    - raise

    """
    f = getattr(self, arg, None)
    if f is not None:
        if callable(f):
            return f(*args, **kwargs)
    f = getattr(np, arg, None)
    if f is not None:
        return f(self, *args, **kwargs)

    raise ValueError("{arg} is an unknown string function".format(arg=arg))

本质上,它试图将字符串作为函数来使用,然后尝试对numpy进行相同的操作,以防它是一个内置函数,否则它返回一个ValueError
如果有人比我知道得更多,我会很高兴,但如果没有,希望这能有所帮助。

hujrc8aj

hujrc8aj3#

适用于.agg()的聚合包括:
平均值-df.agg('mean')
中位数-df.agg('median')
模式-df.agg('mode')
总和-df.agg('sum')
计数-df.agg('count')
最大值-df.agg('max')
最小值-df.agg('min')
标准差-df.agg('std')
方差-df.agg('var')
偏斜度-df.agg('skew')
峰度-df.agg('kurt')

相关问题