【发布时间】:2020-06-18 10:51:24
【问题描述】:
所以我有一些数据,大约有一百万个(r, phi) 坐标,以及它们的强度。我想以网格模式对这些数据进行采样,这样我就可以减少使用的内存并更快地绘图。但是我想对 X,Y 中的数据进行采样,因为我会将坐标转换为 (X,Y) 坐标来绘制它们。
我在想我可以使用网格来设计一个我想采样的模板,但我被困在下一步了。
我似乎在谷歌或这里找不到任何有用的搜索,但如果这个问题太简单了,我们深表歉意!
我正在使用 numpy,我的数据现在存储为三个单独的数组。我打算使用np.meshgrid 和后来的scipy.interpolate.griddata 进行插值。
r、phi 和 intensity 都是np.arrays,形状为(million,)
例如
r = array([1560.8, 1560.8003119, 1560.8006238, ..., 3556.831746,
3558.815873 , 3560.8 ])
我是从这个开始的;
r = data[:, 0] # radius
phi = data[:, 1] # altitude angle
h2o = data[:, 2] # intensity
x = r * np.sin(phi) # It's a left handed coordinate system
z = r * np.cos(phi)
对于采样网格,我得到了这个;
Xscale = np.linspace(min(x), max(x), 1000)
Zscale = np.linspace(min(z), max(z), 1000)
[X, Z] = np.meshgrid(Xscale, Zscale)
【问题讨论】:
-
你有一个 Python 标签,你是在使用 Python 和 Pandas 之类的框架或类似的框架吗?您能否在您的问题中添加更多详细信息以及您迄今为止使用的数据结构和/或代码示例?
标签: python interpolation sampling