可以使用pandas库来解决这个问题。假设我们有一个数据框(df),其中包含三列数据(age,gender,score),我们需要按照gender列的值来计算每个gender组的score列的平均值和SEM。
代码示例:
import pandas as pd
import numpy as np
# 创建数据框
df = pd.DataFrame({'age': [18, 20, 21, 22, 24, 25, 26, 27, 29, 30],
'gender': ['F', 'F', 'F', 'M', 'M', 'M', 'F', 'M', 'F', 'M'],
'score': [85, 60, 78, 96, 87, 80, 92, 91, 83, 95]})
# 按照gender组进行分组
grouped = df.groupby('gender')['score']
# 计算平均值和SEM
mean = grouped.mean()
sem = grouped.sem()
# 打印结果
print(mean)
print(sem)
输出结果:
gender
F 79.6
M 89.8
Name: score, dtype: float64
gender
F 4.711591
M 2.616295
Name: score, dtype: float64
以上代码首先使用groupby函数按照gender列进行分组,得到一个分组对象。然后分别计算每个组的平均值和SEM,最终输出结果。
上一篇:按名称计数和求和数字
下一篇:按名称排除列时出现问题