【发布时间】:2019-04-15 20:19:03
【问题描述】:
我有两个由 x 和 y 值对组成的测量值。我想计算这两个系列之间的差异。问题是我不能简单地计算这两个测量值之间的差异,因为它们在 x 值中的采样方式不同。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x1 = np.array([1, 2, 3, 4, 5])
y1 = np.array([1, 4, 9, 16, 25])
x2 = np.array([1.5, 2.5, 3.3, 4.2, 5.1])
y2 = np.array([1.3, 2.5, 3.3, 4.2, 5.1])
df = np.array([x1, y1, x2, y2])
df = pd.DataFrame(df.T, columns=['x1', 'y1', 'x2', 'y2'])
df.head()
plt.plot(df.x1.values, df.y1.values, df.x2.values, df.y2.values)
我想分配一个新变量 x = np.linspace(0, 5, 100, endpoint=True),然后通过在 x 的值上插值 y1 和 y2 值来确定新的 y1_new 和 y2_new。
我看过 pandas.resample() 但这似乎与时间戳一起工作。也许 'scipy.interpolate' 会有所帮助,但我不确定这些功能。原则上,我知道如何在 python 中手动编程,但我确信我的问题已经有了解决方案。
【问题讨论】:
标签: python interpolation