表或 DataFrame 中存在前导和尾随
NaN
值是很常见的情况。在连接之后和时间序列数据中尤其如此。
import numpy as np
import pandas as pd
df1 = pd.DataFrame({
'a': [1, 2, 3, 4, 5, 6],
'b': [np.NaN, 2, np.NaN, 4, 5, np.NaN],
})
Out[0]:
a b
0 1 NaN
1 2 2.0
2 3 NaN
3 4 4.0
4 5 5.0
5 6 NaN
让我们用
dropna
删除它们。
df1.dropna()
Out[1]:
a b
1 2 2.0
3 4 4.0
4 5 5.0
哦不!!我们丢失了第
b
列中显示的所有缺失值。我想保留中间(内部)的。
如何以快速、干净且高效的方式去除具有前导和尾随
NaN
值的行? 结果应如下所示:
df1.stripna()
# obviously I'm not asking you to create a new pandas method...
# I just thought it was a good name.
Out[3]:
a b
1 2 2.0
2 3 NaN
3 4 4.0
4 5 5.0