python - 使用 Pandas 在日期的两个时间之间进行插值

标签 python pandas interpolation

我需要根据每天不同时间的四次温度测量值来插值每天 15:00:00 的温度。

下面是两天的读数,显示每天记录的数据不太均匀:

datetime    temp_obs
2011-12-11 05:29:45 16.02
2011-12-11 11:28:19 15.79
2011-12-11 17:26:52 16.15
2011-12-11 23:25:26 16.71
2011-12-12 05:24:00 16.36
2011-12-12 11:22:33 16.02
2011-12-12 17:21:07 16.24
2011-12-12 23:19:40 16.63

如果有任何关于使用 Pandas 或任何其他工具对 15:00:00 处的值进行插值的建议,我将不胜感激。谢谢

最佳答案

您可以在两个时间之间进行切片并生成回归数据:


data = df[(df.index > start_date) & (df.index <= end_date)]

valuelist = data.values
time = data.index.total_seconds()

然后您可以使用 numpy 使数据适合一条线

import numpy as np
# 1d line y= mx +c
m,c = np.polyfit(time, valuelist, 1)

并获得您想要的时间(以秒为单位)

from datetime import datetime
datetime_s = datetime.strptime('Jun 1 2005  3:00PM', '%b %d %Y %I:%M%p').strftime('%s')   

# y = mx +c
result = m*datetime_s + c

关于python - 使用 Pandas 在日期的两个时间之间进行插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55358457/

相关文章:

python - 返回 xy 坐标的 z 值

matlab - 用矩阵中值附近的插值替换 NaN 值

python - 如何使用 Python `string.find()` 找到段落的边界?

python - 在 python 中实现 "Sieve of Eratosthenes"时出现麻烦的过滤器行为

python - Pandas Dataframe 用其他列的第一个值填充列

python - 根据组合条件过滤 Pandas 中的行

python - 如何避免 python 在屏蔽数据后使用 UserWarning 进行隐式修复

python - 从 scipy interpolate/griddata 检索数据点

python - 替换 pandas DataFrame 中的列值

python - pyodbc 是如何确定编码的?