![](/img/trans.png)
[英]Delete rows from a pandas DataFrame based on a conditional expression, iteration (n) and (n+1)
[英]Delete rows from a pandas DataFrame based on a conditional expression in another dataframe
我有兩個 pandas 數據幀 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 中刪除(應該具有與您所說的相同的索引)。
我希望這是正確的! (沒有做過測試)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.