python - Pandas 索引插值在最后一个数据点之后填充缺失值
问题描述
在列的末尾有一个缺失值的数据框,fe:
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
解决方案
我认为需要新参数limit_direction
,请0.23.0+
检查:
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
编辑:如果只想在添加参数中替换s 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
推荐阅读
- python - 尽管检测到所有元素,但未选择所有元素
- postgresql - 无法从 docker-compose postgresql 服务连接到 postico
- pandas - 如何使用apply用前一列值填充pandas列
- virtocommerce - 从源代码全新安装后 Virto Commerce 智能缓存模块出错
- php - MySQL:从两个表中的任何一个中删除行
- scala - Scala 为数据框中的每一行应用一个函数
- docker - 在 Docker 的 A VOLUME 中安装整个数据库(包括二进制文件)
- java - Maven - 如何对依赖于另一个项目的项目进行单元测试?
- rest - REST API 查询字符串
- python - 对变量有多个 == 语句