pandas的groupby agg 用法
时间: 2024-06-05 10:03:20 浏览: 217
pandas是一个强大的数据处理和分析库,其中的groupby和agg函数是用于对数据进行分组和聚合操作的重要工具。
groupby函数可以将数据按照指定的列或者多个列进行分组,然后对每个分组进行相应的操作。它的基本语法如下:
```
df.groupby(by=grouping_columns)[columns_to_show].function()
```
其中,by参数指定了用于分组的列名或者列名列表,columns_to_show参数指定了需要显示的列名或者列名列表,function参数指定了对每个分组进行的操作,比如求和、计数、平均值等。
agg函数是groupby函数的一个补充,它可以对每个分组进行更加灵活的聚合操作。它的基本语法如下:
```
df.groupby(by=grouping_columns).agg({'column_name': 'function'})
```
其中,by参数和groupby函数一样,指定了用于分组的列名或者列名列表。agg函数的参数是一个字典,字典的键是需要聚合的列名,值是对应的聚合函数。
下面是一个示例,演示了groupby和agg函数的用法:
```python
import pandas as pd
# 创建一个DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Subject': ['Math', 'Math', 'Math', 'English', 'English', 'English'],
'Score': [80, 90, 75, 85, 95, 80]}
df = pd.DataFrame(data)
# 按照Name列进行分组,并计算每个分组的平均分和总分
result = df.groupby('Name').agg({'Score': ['mean', 'sum']})
print(result)
```
输出结果如下:
```
Score
mean sum
Name
John 77 155
Nick 92 185
Tom 82 165
```
阅读全文