在列末尾有一个缺少值的数据框,例如:
df = pd.DataFrame({'a':[np.nan,1,2,np.nan,np.nan,5,np.nan,np.nan]}, index=[0,1,2,3,4,5,6,7])
a
0 NaN
1 1.0
2 2.0
3 NaN
4 NaN
5 5.0
6 NaN
7 NaN
使用“索引”插值方法:
df.interpolate(method='index')
返回数据帧,并向前填充最后一个缺失值:
a
0 NaN
1 1.0
2 2.0
3 3.0
4 4.0
5 5.0
6 5.0
7 5.0
有没有办法关闭该行为并保留最后缺失的值:
a
0 NaN
1 1.0
2 2.0
3 3.0
4 4.0
5 5.0
6 NaN
7 NaN
最佳答案
我认为0.23.0+
中需要新参数limit_direction
,请检查this :
df = df.interpolate(method='index', limit=1, limit_direction='backward')
print (df)
a
1 1.0
2 2.0
3 3.0
4 4.0
5 5.0
6 NaN
7 NaN
编辑:如果想仅在添加参数limit_area
内替换NaN
:
df = df.interpolate(method='index',limit_area='inside')
print (df)
a
0 NaN
1 1.0
2 2.0
3 3.0
4 4.0
5 5.0
6 NaN
7 NaN
关于python - Pandas 索引插值填充最后一个数据点之后的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51376792/