用列中的先前值填充数据框中的NaN值

时间:2018-07-30 07:46:39

标签: python dataframe

嗨,我有一个数据框,其中缺少一些值,例如:

enter image description here

黑色数字40和50是已经输入的值,红色数字是根据先前的值自动填充的。第2行为空白,因为没有要填写的数字。

有什么想法可以有效地做到这一点吗?我正在尝试循环,但也许有更好的方法

2 个答案:

答案 0 :(得分:1)

通过fillna大熊猫中的ffill方法可以轻松完成。

为说明工作原理,请考虑以下示例数据框

df = pd.DataFrame()

df['Vals'] = [1, 2, 3, np.nan, np.nan, 6, 7, np.nan, 8]

    Vals
0   1.0
1   2.0
2   3.0
3   NaN
4   5.0
5   6.0
6   7.0
7   NaN
8   8.0

要填充缺失值,请执行以下操作

df['Vals'].fillna(method='ffill', inplace=True)

    Vals
0   1.0
1   2.0
2   3.0
3   3.0
4   3.0
5   6.0
6   7.0
7   7.0
8   8.0

答案 1 :(得分:0)

对此有一个直接的同义词功能,pandas.DataFrame.ffill

df['Vals',inplace=True]