groupby函数 agg求平均值
时间: 2023-07-28 07:06:41 浏览: 146
groupby函数是 pandas 库中的一个函数,用于根据某些特征将数据集进行分组,并对每个分组应用相应的函数。agg函数则是 groupby 函数中常用的一个函数,用于对每个分组进行聚合计算,例如求均值、求和等。下面是一个示例代码:
```python
import pandas as pd
# 创建一个数据集
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emma', 'Frank'],
'Gender': ['F', 'M', 'M', 'M', 'F', 'M'],
'Age': [20, 25, 30, 35, 40, 45],
'Score': [80, 85, 90, 95, 100, 105]
}
df = pd.DataFrame(data)
# 按照 Gender 分组,并计算 Score 的平均值
result = df.groupby('Gender').agg({'Score': 'mean'})
print(result)
```
输出结果为:
```
Score
Gender
F 90.000000
M 93.333333
```
这里按照 Gender 分组,然后对每个分组的 Score 列求平均值,并将结果保存在新的 DataFrame 中。可以看到,F 组的平均值为 90,M 组的平均值为 93.33。
相关问题
pandas的groupby函数agg
pandas的groupby函数agg是一种数据聚合方法,可以对数据进行分组并对每个组应用一个或多个聚合函数,例如求和、平均值、最大值、最小值等。agg函数可以接受一个字典作为参数,字典的键为列名,值为聚合函数,也可以是一个函数或函数列表。agg函数返回一个DataFrame对象,其中每个组的聚合结果都是一行。
groupby和agg
groupby和agg是pandas中常用的数据分组和聚合函数。groupby函数可以将数据按照指定的列进行分组,然后对每个分组进行聚合计算。agg函数可以对不同的列使用不同的聚合计算,而且还可以自定义聚合函数。具体使用方法如下:
1. groupby函数的使用
```python
import pandas as pd
import numpy as np
# 创建一个DataFrame
df = pd.DataFrame({
'key1': ['a', 'a', 'b', 'b', 'a'],
'key2': ['x', 'y', 'y', 'x', 'y'],
'data1': np.random.randint(0, 10, 5),
'data2': np.random.randint(10, 20, 5)
})
# 按照key1列进行分组,并计算data1和data2的平均值
res1 = df.groupby('key1').mean()
# 按照key1和key2列进行分组,并计算data1和data2的平均值
res2 = df.groupby(['key1', 'key2']).mean()
# 按照key1列进行分组,并计算data1的最大值、data2的最小值和数量
res3 = df.groupby('key1').agg({'data1': 'max', 'data2': 'min', 'key2': 'count'})
```
2. agg函数的使用
```python
# 自定义聚合函数
def my_mean(arr):
return arr.mean()
# 按照key1列进行分组,并计算data1的最大值、data2的最小值和数量,以及自定义聚合函数my_mean的结果
res4 = df.groupby('key1').agg({'data1': 'max', 'data2': 'min', 'key2': 'count', 'data1': my_mean})
```
阅读全文