刪除缺失值
在建立 DataFrame 時,None
(python 的缺失值)被轉換為 NaN
(pandas 的缺失值):
In [11]: df = pd.DataFrame([[1, 2, None, 3], [4, None, 5, 6],
[7, 8, 9, 10], [None, None, None, None]])
Out[11]:
0 1 2 3
0 1.0 2.0 NaN 3.0
1 4.0 NaN 5.0 6.0
2 7.0 8.0 9.0 10.0
3 NaN NaN NaN NaN
如果至少一列具有缺失值,則刪除行
In [12]: df.dropna()
Out[12]:
0 1 2 3
2 7.0 8.0 9.0 10.0
這將返回一個新的 DataFrame。如果要更改原始 DataFrame,請使用 inplace
引數(df.dropna(inplace=True)
)或將其分配回原始 DataFrame(df = df.dropna()
)。
如果缺少該行中的所有值,則刪除行
In [13]: df.dropna(how='all')
Out[13]:
0 1 2 3
0 1.0 2.0 NaN 3.0
1 4.0 NaN 5.0 6.0
2 7.0 8.0 9.0 10.0
放下列不具有至少 3 個非缺失值
In [14]: df.dropna(axis=1, thresh=3)
Out[14]:
0 3
0 1.0 3.0
1 4.0 6.0
2 7.0 10.0
3 NaN NaN