嗨,我有一个数据框,其中缺少一些值,例如:
黑色数字40和50是已经输入的值,红色数字是根据先前的值自动填充的。第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]