我有一個帶有 nan 值的數據數組我想刪除帶有 nan 值的行。我想要這個輸出:僅保留沒有 nan 值的行。我嘗試使用此代碼input = input[~np.isnan(input)]但是,這些行沒有刪除。我也用了a = input[complete.cases(input), ]但是發生了錯誤。名稱錯誤:未定義名稱“完整”
3 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
數據幀:
values_1 values_2
0 700.0 NaN
1 NaN 150.0
2 500.0 350.0
3 NaN 400.0
4 1200.0 5000.0
你可以試試這個:
df = df.dropna()
df = df.reset_index(drop=True)
輸出:
values_1 values_2
0 500.0 350.0
1 1200.0 5000.0

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
給定 numpy 數組為
import numpy as np input = np.array([[1,1,0,np.nan], [1,1,1,30], [1,0,1,np.nan]])
嘗試
output = input[~np.isnan(input).any(axis=1)]
給出輸出為
[[ 1. 1. 1. 30.]]

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
試試這個
input = input[~np.isnan(input).any(axis=1)]
any(axis=1) 將 m*n 數組減少到 n,并對整行進行邏輯或操作。
添加回答
舉報
0/150
提交
取消