pandas groupby 分组结果保存成DataFrame
今天做项目需要将groupby分组结果保存 成DataFrame,现在就讲解一下具体实现方式:
原始数据及代码:
import pandasas pd
from pyechartsimport Line
df= pd.DataFrame({'name': ['张三','李四','王五','张三','王五','张三','赵六','张三','赵六'],
'sex': ['男','女','男','男','男','男','女','女','女'],
'num1': [2.9,9.0,8.5,5.6,5.6,5.2,1.2,4.5,3.2],
'num2': [5.2,2.5,6.3,5.6,4.5,5.6,1.2,8.5,1.2]
})
# 根据其中两列分组,并求均值
df_expenditure_mean= df.groupby(['sex','name'])['num1'].agg({'means':'mean'})
print(df_expenditure_mean)
groupby分组结果保存 成DataFrame方法:
import pandasas pd
from pyechartsimport Line
df= pd.DataFrame({'name': ['张三','李四','王五','张三','王五','张三','赵六','张三','赵六'],
'sex': ['男','女','男','男','男','男','女','女','女'],
'num1': [2.9,9.0,8.5,5.6,5.6,5.2,1.2,4.5,3.2],
'num2': [5.2,2.5,6.3,5.6,4.5,5.6,1.2,8.5,1.2]
})
# 根据其中两列分组,并求均值
df_expenditure_mean= df.groupby(['sex','name'])['num1'].agg({'means':'mean'})
#转化成dataframe格式
df_expenditure_mean = pd.DataFrame(df_expenditure_mean)
#修改字段名称
df_expenditure_mean.rename(columns={'sex':'性别','name':'姓名','means':'均值'},inplace=True)
print(df_expenditure_mean)
好啦,groupby分组结果保存 成DataFrame已经成功,谢谢。