熊猫索引插值填充最后一个数据点之后的缺失值

时间:2018-07-17 08:39:04

标签: python pandas dataframe interpolation

在一列的末尾有一个数据框,该数据框的值丢失,例如:

\

使用“索引”插值方法:

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

2 个答案:

答案 0 :(得分:2)

我认为需要limit_direction中的新参数0.23.0+,检查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

编辑:如果只想在添加参数NaN内替换limit_area

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

答案 1 :(得分:1)

您是说应保留最后的NaN(一个或多个)? 这个怎么样。 找到最后一个有效的arg索引,然后拆分,插值和追加。

std::string operator/(const std::string& lhs, const std::string& rhs) {
    return lhs + rhs;
}