python - Pandas 线性插值总是用相同的值替换
问题描述
我正在使用 Pandas 系列执行线性插值,但它似乎一直用相同的值替换 NaN,我不知道为什么..
# To check where are located the missing values :
d1[d1.isna().any(axis=1)]
volume price
datetime
2018-05-23 09:00:00 NaN 0.0
2018-05-22 11:00:00 NaN 0.0
2018-05-21 12:00:00 NaN 0.0
2018-05-21 10:00:00 NaN 0.0
2018-05-21 09:00:00 NaN 0.0
2018-05-18 09:00:00 NaN 0.0
d1["price"].astype(float).interpolate(method="time")
datetime
2018-05-23 10:00:00 23.825000
2018-05-23 09:00:00 22.425000
2018-05-22 17:00:00 24.041000
...
2018-05-22 12:00:00 23.975000
2018-05-22 11:00:00 22.425000
2018-05-22 10:00:00 24.000000
...
2018-05-21 12:00:00 22.425000
2018-05-21 11:00:00 23.200000
2018-05-21 10:00:00 22.425000
2018-05-21 09:00:00 22.425000
...
2018-05-18 10:00:00 23.425000
2018-05-18 09:00:00 22.425000
2018-05-17 17:00:00 23.516000
缺失值总是用 22.45 代替,这既不是系列的平均值也不是中位数。有人可以帮忙吗?谢谢 !
编辑:一瞥初始数据框:
price volume
datetime
2018-05-23 16:00:00 23.936667 70.0
2018-05-23 15:00:00 24.040000 5.0
2018-05-23 14:00:00 23.971875 185.0
2018-05-23 13:00:00 23.811111 250.0
2018-05-23 12:00:00 23.800000 240.0
2018-05-23 11:00:00 23.816667 140.0
2018-05-23 10:00:00 23.825000 10.0
2018-05-23 09:00:00 NaN 0.0
2018-05-22 17:00:00 24.041000 260.0
2018-05-22 16:00:00 24.062857 150.0
2018-05-22 15:00:00 24.031818 1525.0
2018-05-22 14:00:00 24.079167 165.0
2018-05-22 13:00:00 23.950000 5.0
2018-05-22 12:00:00 23.975000 375.0
2018-05-22 11:00:00 NaN 0.0
2018-05-22 10:00:00 24.000000 30.0
2018-05-22 09:00:00 24.000000 30.0
解决方案
推荐阅读
- javascript - 在对象文字中声明时,包含“this”的数组元素返回未定义
- sql - 使用 VBA 上传数百条记录
- c++ - 这是使用模板的正确方法
bool timed_wait(lock_type& lock,boost::system_time const& abs_time)? - c - 如何将main转换为函数
- java - Flyway Spring Boot应用程序在启动时不应用插入脚本
- asp.net - 如何将值传递给部分标签助手?(ASP.NET 核心)
- vb.net - 在主表单中创建新记录时自动将新记录添加到链接表单
- apache-kafka - 在 apache kafka 中,在从 kafka 获得响应之前控制最大等待时间的生产者配置是什么?
- gradle - Kotlin buildscript 不使用我的自定义 maven 存储库
- azure - 列出 Azure SQL 数据库资源的可用定价层