如果它們的位置等值是 df2 中的缺失值,我如何將 df1 中的所有值設定為缺失?
Data df1:
Index Data
1 3
2 8
3 9
Data df2:
Index Data
1 nan
2 2
3 nan
desired output:
Index Data
1 nan
2 8
3 nan
所以我想保留df1的資料,但只保留df2也有資料條目的位置。對于 df2 中的所有 nan,我也想用 nan 替換 df1 的值。
我嘗試了以下方法,但這用 nan 替換了所有資料點。
df1 = df1.where(df2== np.nan, np.nan)
非常感謝您的幫助。
uj5u.com熱心網友回復:
使用mask,這與 完全相反where:
df3 = df1.mask(df2.isna())
輸出:
Index Data
0 1 NaN
1 2 8.0
2 3 NaN
在您的情況下,您將與非 NaN 匹配的所有元素設定為 NaN,并且由于相等性不是檢查 NaN (np.nan == np.nan產量False)的正確方法,因此您將全部設定為 NaN。
uj5u.com熱心網友回復:
更改:df2 == np.nan_df2.notna()
df3 = df1.where(df2.notna(), np.nan)
print(df3)
# Output
Index Data
0 1 NaN
1 2 8.0
2 3 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/414795.html
標籤:
下一篇:根據一列將缺失值填充到另一列
