【问题标题】:python - align time steps of two data setspython - 对齐两个数据集的时间步长
【发布时间】:2015-10-26 04:11:42
【问题描述】:

作为一个 python 新手,我需要一点帮助。我有两个带有温度数据值的文件。第一个文件包含时间步长为 2 秒的值。 (但有时甚至是秒,有时是不均匀的秒)。第二个文件包含时间步长为 2.5 分钟(180 秒)的值。 如何对齐两个数据集,以便进行相关性分析?

非常感谢您的帮助。我现在不知道要发布什么代码,我想你们都明白我需要什么。如果没有,请告诉我。

提前致谢!

【问题讨论】:

  • 将您的数据重新采样到 1 秒。如果第二个文件包含变化不大的数据——我假设它没有变化,因此采样间隔为 2.5 分钟——你甚至不必插值,只需为所有新时间点取最后一个值.
  • 请给我们您的 OP 中每个数据集的前几行。
  • 非常感谢您的快速回答。但是在代码语言中会怎样呢? :)
  • 第一个文件(2 秒;这个只包含温度值,但时间步长是 2 秒):4.5654 5.3445 6.345 第二个文件(2.5 分钟):"No.","Date Time, CET","Temp, °C" 1,01/01/15 12:00:00 PM,4.740 2, 01/01/15 12:02:30 PM,4.856

标签: python dataset alignment


【解决方案1】:

您可以使用spicy::interp1d 为您进行插值。

一个一般的例子是

from scipy.interpolate import interp1d
x = np.linspace(0, 10, num=11, endpoint=True)
y = np.cos(-x**2/9.0)
f = interp1d(x, y)
xnew = np.arange(0, 9, 0.1)
ynew = f(xnew)   # use interpolation function returned by `interp1d`
plt.plot(x, y, 'o', xnew, ynew, 'x')
plt.show()

因此,在您的情况下,您的数据中有 xy,定义一个新的 xnew = np.arange(MIN, MAX, 1),您的步数以秒为单位。确保将第二个文件的样本转换为秒,而不是分钟。然后,您将拥有 xnew,ynew 来处理每个文件。

【讨论】:

  • 感谢@Shawn Mehan。但我不确定我是否理解你的 postet :( 你能把它应用到我的数据中吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
  • 2020-03-18
  • 2015-12-04
  • 1970-01-01
  • 2018-03-24
  • 2018-08-28
  • 1970-01-01
相关资源
最近更新 更多