pandas分组求平均值
时间: 2023-07-06 16:27:56 浏览: 107
可以使用 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 是一种强大的数据分析工具,其中最常用的功能之一是分组。 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。
pandas怎么分组计算平均值
你可以使用`groupby()`方法来对数据进行分组,并使用`mean()`方法来计算每个组的平均值。下面是一个简单的示例:
```python
import pandas as pd
# 创建一个示例数据框
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emma', 'Frank'],
'Gender': ['F', 'M', 'M', 'M', 'F', 'M'],
'Age': [25, 32, 18, 47, 22, 36],
'Salary': [50000, 80000, 35000, 100000, 42000, 75000]}
df = pd.DataFrame(data)
# 按性别分组并计算平均工资
avg_salary_by_gender = df.groupby('Gender')['Salary'].mean()
print(avg_salary_by_gender)
```
上述代码将按`Gender`列进行分组,并计算每个组的平均`Salary`值。输出结果如下:
```
Gender
F 46000.0
M 65000.0
Name: Salary, dtype: float64
```
可以看到,`avg_salary_by_gender`是一个Pandas系列对象,包含了每个性别的平均工资。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)