类似于excel中的分类汇总,我们在对DataFrame数据帧的操作过程中有些时候需要根据某一列(column)的内容对各个数据行进行分组,得到一个DataFrameGroupBy的对象。有时需要对这些分组的数据进行一些运算,比如求和、求平均、计数等等。我们就可以在这个分类基础上进行计算得到每一类各自的数据。我们使用以下代码进行演示:
import pandas as pd
dict_data = {
'student':["Li Lei","Han Meimei","Tom","Adam","Betty","Curry"],
'score' :[95,98,92,89,82,93],
'gender':['M','F','M',"M","F","M"]
}
DF_data = pd.DataFrame(dict_data,columns=['gender','student','score'],index=['a','b','c','d','e','f'])
grouped_data = DF_data.groupby('gender')
print(grouped_data)
print(type(grouped_data))
print(grouped_data.sum())
print(grouped_data['score'].mean())
print(grouped_data['score'].count())
运行后我们可以得到以下运行结果:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000000000BAEBAC8>
<class 'pandas.core.groupby.generic.DataFrameGroupBy'>
score
gender
F 180
M 369
gender
F 90.00
M 92.25
Name: score, dtype: float64
gender
F 2
M 4
Name: score, dtype: int64
[Finished in 4.1s]
可以看到和excel的操作非常相似,毕竟都是数据处理工具。