我有下表:
Days Age Sex
5 39 F
NaN 54 M
4 26 M
1 42 M
4 29 M
我想分别计算男性和女性的平均天数,但只计算那些有 3 天或更多天数的行。 (消除所有缺失值以及“天”列中 <3 的所有内容)
我在想这样的事情:
df.groupby("Sex")["Days"].mean().where()....
其中列[0] >= 3 但是“where”条件有问题
执行此操作的最佳命令是什么?谢谢。
最佳答案
什么?
df.query("Days > 2").groupby("Sex")["Days"].mean()
演示:
In [208]: df
Out[208]:
Days Age Sex
0 5.0 39 F
1 NaN 54 M
2 4.0 26 M
3 1.0 42 M
4 4.0 29 M
In [209]: df.query("Days > 2").groupby("Sex")["Days"].mean()
Out[209]:
Sex
F 5.0
M 4.0
Name: Days, dtype: float64
关于python - Pandas 数据框。消除列中匹配某些条件的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48252757/