在一列的末尾有一个数据框,该数据框的值丢失,例如:
\
使用“索引”插值方法:
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
答案 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;
}