DataFrame分组和聚合

一、分组

1、语法

grouped= df.groupby(by='columns name')
# grouped是一个DataFrameGroupBy对象,是可迭代的(遍历)
# grouped中的每一个元素都是一个元祖
# 元祖: (索引(分组的值), 分组之后的DataFrame)

2、取值

grouped.count()                 # 获取分组中非NaN的数量
grouped.count()[['M']]          # 获取M列索引的值, 注意 [['M']] 结果的type是DataFrame
grouped.count()['M']            # 获取M列索引的值, 注意 ['M'] 结果的type是Series

3、多个分组

# 多个分组
grouped= df.groupby(by=['columns_name1', 'columns_name2'])

# 获取分组后的某一部分数据
grouped = df1.groupby(by=['O', 'N'])
grouped.count()['M']
或
grouped['M'].count()

# 对某几列数据进行分组
grouped = df1['M'].groupby(by=[df1['O'], df1['N']])     # Series
#
grouped = df1[['M']].groupby(by=[df1['O'], df1['N']])     # DataFrame
grouped.count()

二、聚合
DataFrameGroupBy对象的聚合方法

函数名         说明
count         分组中非NA的数量
sum           非NA值的和
mean          非NA值的平均值
median        非NA值的中位数
std、var       标准差、方差
min、max       非NA值中的最小值、最大值

猜你喜欢

转载自www.cnblogs.com/wt7018/p/11975735.html