我有一个点数据集,我正在尝试在网格上插值。这些点以网格方式对齐,缺少一些点,如下所示:
要使其复杂化,其他输入点集可能无法在网格上对齐,因此我尝试使用scipy.interpolate.griddata
将这些值插入到常规网格中。但是,有时我的底层网格与输入点数据集的采样率完全对齐,griddata
挂起。根据{{3}} scipy.interpolate.griddata
,如果样本发生在3个完全对齐的点上(有时会发生在我身上),则表现不佳。
在Python中将点数据插值到常规网格上是否有高性能替代方案?
答案 0 :(得分:2)
我的解决方案是通过1e-6 * grid_cell_size
之间的随机因子随机扰动每个输入点的x和y坐标。我选择1e-6
作为经验,比32位浮点数中的最小差值差大几个数量级,但又足够小以至于它引入的误差仍然被插值方案引入的误差所遮蔽。
我仍然对其他想法持开放态度,但这样我可以通过引入一个非常小的数值误差来使用scipy
提供的股票插值函数。