微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据另一个数据框中的条件表达式从熊猫数据框中删除行

如何解决根据另一个数据框中的条件表达式从熊猫数据框中删除行

我有两个熊猫数据框df1和df2,它们的行数相等。 df2有11行包含NaN值。我知道如何通过应用以下方法删除df2中的空行:

df2.dropna(subset=['HIGH'],inplace=True)

但是现在我想从df1中删除这些相同的行(具有从df2中删除的具有相同行号的行)。我尝试了以下操作,但这似乎不起作用。

df1.drop(df2[df2['HIGH'] == 'NaN'].index,inplace=False)

还有其他建议吗?

解决方法

您可以使用以下方法获取所有带有NaN值的行:

is_NaN = df2.isnull()
row_has_NaN = is_NaN.any(axis=1)
rows_with_NaN = df2[row_has_NaN]

之后,您可以使用NaN删除行。 (就像您在问题中说的那样)

现在您可以从'rows_with_NaN'中获取所有索引。对于每个索引,您都可以将其从df1中删除(应该具有与您说的相同的索引)。

我希望这是正确的! (未完成测试)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。