我正在谈论Python Pandas .agg()
函数,
meanData = all_data.groupby(['Id'])[features].agg('mean')
因此,它可以执行以下操作:
它还能做什么?我在官方文档页面上找不到任何内容: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.DataFrameGroupBy.agg.html
答案 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中找到完整列表。
列表当前包含许多聚合功能:
所有,任意,填充,回填,计数,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.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
。
如果一个比我了解更多的人可以澄清更多信息,我会很高兴,但是如果没有,希望这对您有所帮助。