我有下表:
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”条件存在问题
最好的命令是什么?谢谢。
答案 0 :(得分:1)
怎么样?
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