如何在pandas中按某列指定值筛选另一列数据并计算均值
实现代码
你已经生成的布尔筛选结果可以直接作为行索引提取对应profit列,完整操作如下:
# 你已实现的筛选逻辑,得到布尔掩码 mask = df['name'].str.contains('Anna') # 提取匹配行的profit列 anna_profit = df.loc[mask, 'profit'] # 计算均值 anna_profit_mean = anna_profit.mean()
优化建议
如果你只需要匹配name完全等于Anna的行,不需要模糊匹配包含Anna的其他值(比如Anna_Wang、LilyAnna这类),更推荐使用全等判断,避免匹配到无关数据:
anna_profit_mean = df.loc[df['name'] == 'Anna', 'profit'].mean()
按照你给出的示例数据,最终计算得到的均值为 4833.33(保留两位小数)。
内容的提问来源于stack exchange,提问作者saikit
相关产品推荐
相关产品推荐

