pandas分组求平均值
时间: 2023-07-06 10:27:56 浏览: 221
可以使用 pandas 的 groupby 方法来进行分组求平均值操作,示例代码如下:
```python
import pandas as pd
# 构造示例数据
data = {'group': ['A', 'B', 'C', 'A', 'B', 'C'],
'value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 分组求平均值
result = df.groupby('group')['value'].mean()
print(result)
```
输出结果为:
```
group
A 2.5
B 3.5
C 4.5
Name: value, dtype: float64
```
其中,`groupby('group')` 表示按照 'group' 列进行分组,`['value']` 表示对 'value' 列进行操作,`.mean()` 表示求平均值。
相关问题
pandas分组统计平均值并保留俩位小数
在Pandas库中,你可以使用`groupby()`函数对数据进行分组,并结合`mean()`函数计算每个组的平均值。如果你想保留结果的小数点后两位,可以利用`round()`函数来进行四舍五入。下面是一个简单的例子:
```python
import pandas as pd
# 假设我们有一个DataFrame df
df = pd.DataFrame({
'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]
})
# 对'A'列进行分组,计算'C'和'D'列的平均值,并保留两位小数
grouped_df = df.groupby('A').agg({'C': 'mean', 'D': 'mean'}).round(2)
print(grouped_df)
```
这将返回一个新的DataFrame,其中包含了'A'列各组的'C'和'D'列的平均值,且结果已经四舍五入到小数点后两位。
pandas 分组平均最大值
Pandas 是一种强大的数据分析工具,其中最常用的功能之一是分组。 Pandas 中的 groupby 函数可以将数据分为一个或多个分组,然后对每个分组执行各种操作,例如计算平均值、最大值等。在分组期间,我们可以使用各种聚合函数对数据进行操作。
对于分组平均最大值,我们可以使用 Pandas 的 groupby 函数以及相关的聚合函数进行操作。假设有一个包含各种数据的 DataFrame,我们可以使用 groupby 函数将其按某一列进行分组,然后使用 mean 和 max 函数计算每个组的平均值和最大值。
下面是代码示例:
```python
import pandas as pd
# 创建一个包含各种数据的 DataFrame
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'two', 'two', 'one', 'one', 'two'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [10, 20, 30, 40, 50, 60, 70, 80]}
df = pd.DataFrame(data)
# 以列 A 作为分组依据,计算每个组的平均值和最大值
df_grouped = df.groupby('A').agg({'C': 'mean', 'D': 'max'})
# 输出结果
print(df_grouped)
```
输出结果如下:
```python
C D
A
bar 4.000000 60
foo 4.666667 80
```
这表示按 'A' 列分组后,'bar' 组的平均值为 4,最大值为 60,'foo' 组的平均值为 4.67,最大值为 80。
阅读全文