Pandas聚合运算和分组运算的实现示例聚合运算和分组运算的实现示例
1.聚合运算聚合运算
(1)使用内置的聚合运算函数进行计算
1>内置的聚合运算函数
sum(),mean(),max(),min(),size(),describe()…等等
2>应用聚合运算函数进行计算
import numpy as np
import pandas as pd
#创建df对象
dict_data = {
'key1':['a','b','c','d','a','b','c','d'],
'key2':['one','two','three','one','two','three','one','two'],
'data1':np.random.randint(1,10,8),
'data2':np.random.randint(1,10,8)
}
df = pd.DataFrame(dict_data)
print(df)
'''
data1 data2 key1 key2
0 3 4 a one
1 7 9 b two
2 5 7 c three
3 3 4 d one
4 8 7 a two
5 4 7 b three
6 8 9 c one
7 4 4 d two
'''
#根据key1分组,进行sum()运算
df = df.groupby('key1').sum()
print(df)
'''
key1
a 12 10
b 8 5
c 8 11
d 16 13
'''
#内置的聚合函数
print(df.groupby('key1').sum())
print('*'*50)
print(df.groupby('key1').max())
print('*'*50)
print(df.groupby('key1').min())
print('*'*50)
print(df.groupby('key1').mean())
print('*'*50)
print(df.groupby('key1').size())
print('*'*50)
#分组中非Nan数据的数量
print(df.groupby('key1').count())
print('*'*50)
print(df.groupby('key1').describe())
(2)自定义聚合函数进行计算
在使用自定义聚合函数的时候,需要用到一个agg()函数
#自定义聚合函数
#最大值-最小值
def peak_range(df):
#返回数据范围差值