如何在pandas中仅使用指定列计算行平均值,排除已有的std列
你之前直接调用df.mean(axis=1)会把std列也纳入计算,解决思路只有两种:要么主动选中需要计算的5个得分列,要么排除不需要的std列后再计算均值,以下是具体实现方案:
- 方法1:显式指定需要计算均值的5个得分列,最稳妥不会出错
df['mean'] = df[['score1', 'score2', 'score3', 'score4', 'score5']].mean(axis=1)
- 方法2:通过列名前缀批量筛选得分列,适合得分列数量多、命名规则统一的场景
df['mean'] = df.filter(like='score', axis=1).mean(axis=1)
- 方法3:直接排除已有的
std列后再计算均值,适合不想逐个列名指定的场景
df['mean'] = df.drop('std', axis=1).mean(axis=1)
内容的提问来源于stack exchange,提问作者Smamorti7
相关产品推荐
相关产品推荐

