几何 X-Y 数据的 Pandas 线性插值似乎忽略了点

问题描述

我正在尝试对 Pandas 中的数据帧进行上采样(从 50 Hz 到 2500 Hz)。我必须上采样以匹配以更高频率采样的传感器。我有来自铣床的 x、y、z 点。 当我绘制原始数据时,线条看起来很直,正如我所料。

Original data

Original data zoomed in

我像这样插入数据框:

df.drop_duplicates(subset='time',inplace=True)
df.set_index('time',inplace=True)
df.index = pd.DatetimeIndex(df.index)
upsampled = new_df.resample('0.4ms').interpolate(method='linear')
plt.scatter(upsampled['X[mm]'],upsampled['Y[mm]'],s=0.5)
plt.plot()

我也试过

upsampled = df.resample('0.4L').interpolate(method='linear')

我希望新点总是介于原始点之间。由于我从 50 Hz 到 2500 Hz,我希望原始数据中的每对点之间有 50 个均匀间隔的点。不过好像有些原点被忽略了,如下图所示(第二张图放大了一个特别麻烦的地方)。

Upsample data superimposed

Upsample data superimposed and zoomed

此图显示了橙色的原始点和蓝色的上采样插值点(两者都是分散的,尽管上采样点非常密集,看起来像一个图)。代码如下所示。

upsampled = df.resample('0.4ms').interpolate(method='linear')
plt.scatter(upsampled['X[mm]'],s=0.5,c='blue') 
plt.scatter(df['X[mm]'],df['Y[mm]'],c='orange')
plt.gca().set_aspect('equal',adjustable='box')
fig.show()

有什么想法可以使插值工作吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)