python怎么对dataframe分组并计算各组元素的最大值、最小值
时间: 2024-09-14 19:13:03 浏览: 70
Python 对DataFrame数据分组并排序并选择最优数据
在Python的pandas库中,你可以使用`groupby()`函数对DataFrame按某个列或多列进行分组,然后对每个组应用聚合函数,比如计算最大值和最小值。下面是一个简单的例子:
```python
import pandas as pd
# 假设你有一个名为df的DataFrame
data = {
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [10, 20, 30, 40, 50, 60, 70, 80]
}
df = pd.DataFrame(data)
# 按'A'和'B'列进行分组,并计算'C'列的最大值和最小值
grouped_df = df.groupby(['A', 'B']).agg({'C': {'max': 'max', 'min': 'min'}})
```
在这个例子中,`groupby(['A', 'B'])`将DataFrame按照'A'和'B'两列的组合进行分组,而`agg({'C': {'max': 'max', 'min': 'min'}})`则表示对'C'列分别计算最大值(max)和最小值(min)。
结果会得到一个新的DataFrame,其中每一行代表一个(A, B)组,'max'和'min'列分别是对应组内'C'列的最大值和最小值。
阅读全文