我试图弄清楚如何过滤熊猫数据框,以使某个列中的值大于某个值或为NaN。可以说我的数据框如下所示:
df = pd.DataFrame({"col1":[1, 2, 3, 4], "col2": [4, 5, np.nan, 7]})
我试过了:
df = df[df["col2"] >= 5 | df["col2"] == np.nan]
和:
df = df[df["col2"] >= 5 | np.isnan(df["col2"])]
但是第一个会导致错误,第二个会排除值为NaN的行。我怎么能得到这样的结果:
pd.DataFrame({"col1":[2, 3, 4], "col2":[5, np.nan, 7]})
请尝试
df[df.col2.isna()|df.col2.gt(4)]
col1 col2
1 2 5.0
2 3 NaN
3 4 7.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句