gpt4 book ai didi

python - 过滤掉特定列中的 nan 行

转载 作者:太空狗 更新时间:2023-10-29 17:37:20 24 4
gpt4 key购买 nike

df =

Col1 Col2 Col3
1 nan 4
2 5 4
3 3 nan

给定数据框df,我想获取一个新的数据框df2,它在列Col2< 中不包含nan/。这是预期的结果: df2 =

Col1 Col2 Col3
2 5 4
3 3 nan

我知道可以使用 pandas.isnulldropna,但是如何仅指定应应用过滤的特定列?

最佳答案

你可以使用DataFrame.dropna()方法:

In [202]: df.dropna(subset=['Col2'])
Out[202]:
Col1 Col2 Col3
1 2 5.0 4.0
2 3 3.0 NaN

或(在这种情况下)不那么惯用 Series.notnull() :

In [204]: df.loc[df.Col2.notnull()]
Out[204]:
Col1 Col2 Col3
1 2 5.0 4.0
2 3 3.0 NaN

或使用 DataFrame.query()方法:

In [205]: df.query("Col2 == Col2")
Out[205]:
Col1 Col2 Col3
1 2 5.0 4.0
2 3 3.0 NaN

numexpr 解决方案:

In [241]: import numexpr as ne

In [242]: col = df.Col2

In [243]: df[ne.evaluate("col == col")]
Out[243]:
Col1 Col2 Col3
1 2 5.0 4.0
2 3 3.0 NaN

关于python - 过滤掉特定列中的 nan 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43821529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com