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

gan*_*ina 5 python dataframe

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

在此输入图像描述

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

知道我如何才能有效地做到这一点吗?我正在尝试循环,但也许有更好的方法

Sre*_* TP 9

ffill使用pandas fillna中的方法可以轻松完成此操作。

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

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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)