agg()函数是聚合函数,它可以实现某种统计功能的函数,如果要不同列用求不同统计量,则用字典{‘行名/列名’,‘函数名’}指定。
agg()函数对 Series、DataFrame 以及分组对象都有效
语法:
DataFrame.agg(func=None, axis=0, *args, **kwargs)
func : function(函数), str, list,或者 dict。用于聚合数据的函数。
axis : {0 or ‘index’, 1 or ‘columns’}, 默认 0
如果 0 或者 ‘index’:将函数应用于每列;
如果 1 或者 ‘columns’: 将函数应用于每一行;
*args
:要传递给“func”的位置参数
**kwargs
:要传递给“func”的关键字参数
Series.agg
Series.agg 的应用和一般语法中介绍的一样,其中 axis 参数的取值为 {0 or ‘index’},并且不可指定其他值,仅与 DataFrame.agg 做了兼容。
举例:
s = pd.Series([1, 2, 3, 4, 5, 6])
# 结果如下:
0 1
1 2
2 3
3 4
4 5
5 6
dtype: int64
这个时候就可以对这个Series使用agg()聚合函数了,如:
s = pd.Series([10, 22, 30, 41, 54, 60])
result=s.agg('min')
# 得到的结果就是这个Series里面的最小值:10
result=s.agg(['min','max'])
# 得到的结果就是这个Series里面的最小值:10和最大值:60
min 10
max 60
dtype: int64
DataFrame.agg
常用示例:
df=pd.DataFrame({
'A':[10,20,30],
'B':[40,50,60],
'C':[70,80,90]
})
print(df)
# 得到以下结果:
A B C
0 10 40 70
1 20 50 80
2 30 60 90
# 在行上,聚合这些函数
result=df.agg(['sum','min'])
# 得到以下结果:
A B C
sum 60 150 240
min 10 40 70
# 每列有不同的聚合
result=df.agg({
'A':'sum',
'B':'mean',
'C':'max'
})
# 得到以下结果:
A 60.0
B 50.0
C 90.0
dtype: float64
# 在列上聚合
result=df.agg('mean',axis=1) # axis=1:将函数应用于每一行
# 得到以下结果:
0 40.0
1 50.0
2 60.0
dtype: float64
Pandas 常用的统计函数
- count() 统计列表中非空手机开的个数
- nunique() 统计非重复的数据个数
- sum() 统计列表中所有数值的和
- mean() 计算列表中数据的平均值
- median() 统计列表中数据中位数
- max() 求列表中数据的最大值
- min() 求列表中数据的最小值
“count() 统计列表中非空手机开的个数
nunique() 统计非重复的数据个数”
这两段是否存在描述错误 或许正确描述是:
非空数据个数;
unique()