【发布时间】:2022-01-09 09:31:24
【问题描述】:
我希望能够用不同的 FMT 绘制数据中插值 d(红色圆圈)的部分。
我目前的想法是绘制 2 条线,原始且仅数据的插值 d 部分,使用不同的 FMT 来区分插值部分,使其看起来像一条奇异线。但我无法提取已被 interpolate-d 的数据,我不确定我的想法目前是否可行,或者是否有更简单的替代方案来完成它。
原始数据
Phoenix Chicago
datetime
2012-10-02 10:00:00 30.0 63.0
2012-10-02 11:00:00 30.0 63.0
2012-10-02 12:00:00 31.0 62.0
2012-10-02 13:00:00 31.0 62.0
2012-10-02 14:00:00 32.0 62.0
2012-10-02 15:00:00 17.0 51.0
2012-10-02 16:00:00 28.0 NaN
2012-10-02 17:00:00 NaN NaN
2012-10-02 18:00:00 9.0 42.0
2012-10-02 19:00:00 NaN NaN
2012-10-02 20:00:00 13.0 NaN
2012-10-02 21:00:00 NaN NaN
2012-10-02 22:00:00 7.0 48.0
2012-10-02 23:00:00 6.0 48.0
plt.plot(df[['Phoenix','Chicago']], marker = 'o')
plt.show()
插值后
Phoenix Chicago
datetime
2012-10-02 10:00:00 30.0 63.0
2012-10-02 11:00:00 30.0 63.0
2012-10-02 12:00:00 31.0 62.0
2012-10-02 13:00:00 31.0 62.0
2012-10-02 14:00:00 32.0 62.0
2012-10-02 15:00:00 17.0 51.0
2012-10-02 16:00:00 28.0 48.0
2012-10-02 17:00:00 18.5 45.0
2012-10-02 18:00:00 9.0 42.0
2012-10-02 19:00:00 11.0 43.5
2012-10-02 20:00:00 13.0 45.0
2012-10-02 21:00:00 10.0 46.5
2012-10-02 22:00:00 7.0 48.0
2012-10-02 23:00:00 6.0 48.0
df.interpolate(inplace = True)
plt.plot(df[['Phoenix','Chicago']], marker = 'o')
plt.show()
我想要达到的目标的粗略想法
【问题讨论】:
-
您可以为此使用 pandas 方法“interpolate”
标签: python pandas dataframe matplotlib