什么是Python Pandas .agg函数?

时间:2018-12-27 10:15:33

标签: python pandas

我正在谈论Python Pandas .agg()函数,

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

因此,它可以执行以下操作:

  • 平均值
  • 中位数
  • 总和
  • 最大
  • Min
  • 标准

它还能做什么?我在官方文档页面上找不到任何内容: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.DataFrameGroupBy.agg.html

4 个答案:

答案 0 :(得分:2)

Replace一起使用的聚合包括:

平均值-.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')

答案 1 :(得分:2)

您可以在左侧菜单的文档under pandas.core.groupby.GroupBy.some-function-name中找到完整列表。

Screen shot of where in documentation to find list

列表当前包含许多聚合功能:

所有,任意,填充,回填,计数,cumcount,cummax,cummin,cumprod,cumsum,ffill,first,head,last,max,mean,mean,min,ngroup,nth,ohlc,pad,prod ,等级,pct_change,大小,sem,std,总和,var,尾巴

答案 2 :(得分:1)

它几乎可以应用于DataFrame对象上的任何函数。

print(dir(DataFrame))

func是字符串类型时,将在调用DataFrame方法的.agg对象的可用属性中查找功能名称。

https://github.com/pandas-dev/pandas/blob/v0.23.4/pandas/core/apply.py#L117

虽然在对DataFrame中的元素进行划分以进行写入时会给出类似的结果,

df = DataFrame([1,2,3,4])    
df.agg('true_div', 0, 2)

在现实世界中,您发现执行该操作的方法是在DataFrame上直接调用的。

df = DataFrame([1,2,3,4])
df.true_div(2)

答案 3 :(得分:0)

pandas/core/base.pyhere,第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

如果一个比我了解更多的人可以澄清更多信息,我会很高兴,但是如果没有,希望这对您有所帮助。