python按类分组求平均值
时间: 2023-07-01 18:26:17 浏览: 146
假设你有一个包含多个类别的数据集,每个类别下都有多个数值,你想要按类别分组,计算每个类别下数值的平均值。可以使用Python中的pandas库来实现。具体步骤如下:
1. 导入pandas库
```
import pandas as pd
```
2. 创建数据集
假设你的数据集如下:
```
data = pd.DataFrame({
'class': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'value': [1, 2, 3, 4, 5, 6, 7]
})
```
其中,`class`列为类别,`value`列为数值。
3. 按类别分组求平均值
使用`groupby`函数按类别分组,然后使用`mean`函数求平均值:
```
result = data.groupby('class').mean()
```
最终结果如下:
```
value
class
A 1.5
B 4.0
C 6.5
```
其中,`class`列为索引,`value`列为平均值。
相关问题
python分组求平均值
可以使用Python中的pandas库来实现分组求平均值。具体步骤如下:
1. 将数据读入pandas的DataFrame中
2. 使用groupby函数按照需要分组的列进行分组
3. 对分组后的数据使用mean函数求平均值
示例代码如下:
```python
import pandas as pd
# 读入数据
data = pd.read_csv('data.csv')
# 按照列A进行分组,求平均值
result = data.groupby('A').mean()
print(result)
```
python分组计算平均值
假设你有一个包含数据的列表,你可以使用Python的内置函数`groupby()`和`mean()`来分组计算平均值。以下是一个示例代码:
```python
from itertools import groupby
data = [("A", 10), ("B", 15), ("A", 8), ("C", 12), ("B", 20), ("A", 7)]
data.sort(key=lambda x: x[0]) # 先按照第一个元素排序
result = {}
for key, group in groupby(data, lambda x: x[0]):
values = [x[1] for x in group] # 获取该组的数值
result[key] = sum(values) / len(values) # 计算平均值
print(result)
```
该代码将输出一个字典,其中键为组的名称,值为该组的平均值。例如,如果你的数据是上面的示例数据,则输出将是`{"A": 8.33, "B": 17.5, "C": 12.0}`。
阅读全文