如何解决根据另一个数据框中的条件表达式从熊猫数据框中删除行
我有两个熊猫数据框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 举报,一经查实,本站将立刻删除。