列的平均值,基于另一列的等于条件

时间:2017-11-30 05:11:14

标签: python pandas

如果'pgain'列中的值== 4,我想要列'vgain'的平均值.vgain和pgain都是int64类型,没有缺失值。

我试过了:

df['vgain'].groupby(df['pgain'] == 4).mean()

这给了我以下输出:

pgain
False    2.851485
True     2.060606
Name: vgain, dtype: float64

有没有办法直接只显示2.060606的值。也许还有其他一些代码?我得到了我想要的价值,但是有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

请改用:

df.query('pgain == 4')['vgain'].mean()

或者

df.loc[df.pgain == 4,'vgain'].mean()