有没有一种高效的方法可以创建一个二维数组,其中包含来自未排序坐标点的值(即不是所有经度和/或纬度都按升序或降序排列),而无需使用循环?
示例数据
lats = np.array([45.5,45.5,45.5,65.3,65.3,65.3,43.2,43.2,43.2,65.3])
lons = np.array([102.5,5.5,116.2,102.5,5.5,116.2,102.5,5.5,116.2,100])
vals = np.array([3,4,5,6,7,7,9,1,0,4])
示例输出
每列代表一个唯一的经度(102.5、5.5、116.2和100),每行代表一个唯一的纬度(45.5、65.3和43.2)。
([ 3, 4, 5, NaN],
[ 6, 7, 7, 4],
[ 9, 1, 0, NaN])
尽管如此,这并不是那么直接的,因为我不一定知道每个经度或纬度有多少个重复项,这决定了数组的形状。
更新:
我在提问时将数据排列错误。现在我已经排列好了,所以它们都是唯一的对,并且有一个额外的数据点来演示当NaN存在时数据应该如何排列。
lats
和lons
中非重复值的数量吗? - danodonovan