Python:如何将两个平面列表合并为一个二维数组?

22

我有两个平面地理坐标(纬度,经度)的列表,我需要将它们合并成一个二维数组或矩阵。

它们现在储存在数据框中:

    lat         lon
0   48.010258   -6.156909
1   48.021648   -6.105887
2   48.033028   -6.054801
3   48.044384   -6.003691
4   48.055706   -5.952602
5   48.067017   -5.901447
6   48.078304   -5.850270
7   48.089558   -5.799114
8   48.100800   -5.747891
我怎样才能将这两个列表合并成一个二维数组,以便 纬度-经度 对应关系得到保留?以下是原始数据:

如何将这两个列表组合成一个2D数组,以保留纬度-经度的对应关系?以下是纯粹的数据:

lat=[48.01,48.02,48.03,48.04,48.05,48.06,48.07,48.08,48.10]
lon=[-6.15,-6.10,-6.05,-6.00,-5.95,-5.90,-5.85,-5.79,-5.74]

编辑

这些摘录的数据代表一个(纬度,经度)(y,x)地理地图。结合起来,它们复制了下面的图片。您可以清楚地看到所需结果必须剥夺一定宽度的外部数据框架。因此,这就像是剪掉一张图片的外框,其宽度为30个数据点。


2
你想要什么结果?它可以用一个简单的循环或使用 zip 函数来实现。你遇到了什么困难? - Peter Wood
5个回答

43
list(zip(lat, long))

提供

[(48.01, -6.15), (48.02, -6.1), (48.03, -6.05), (48.04, -6.0), 
 (48.05, -5.95), (48.06, -5.9), (48.07, -5.85), (48.08, -5.79), (48.1, -5.74)]

更多关于 zip 的内容请点击这里


请检查我的编辑。我忘了说一些关键的东西。 - FaCoffee
@CF84,您能具体说明一下吗?我们了解问题的范围越多,我们的答案就会更加相关。 - Patrick Haugh
只要您有一个包含lat列和lon列的数据框df,就可以执行list(zip(df.lat, df.lon))。我不明白从数据框中删除某些行会如何影响这个操作。 - Patrick Haugh

9
尝试使用numpy模块,例如:np.column_stack,也许可以尝试一下,看看它是否能给你所需的结果/格式。
检查一下numpy.column_stack
希望这有所帮助 :)

4
你只需将它们明确地添加到一个新列表中,并像这样分配它...
coordinates = [lat, lon]

然后将坐标设置为...

[
 [48.01,48.02,48.03,48.04,48.05,48.06,48.07,48.08,48.10],
 [-6.15,-6.10,-6.05,-6.00,-5.95,-5.90,-5.85,-5.79,-5.74]
]

4

Patrick Haugh 的答案上进行补充:

np.array(list(zip(lat, lon)))

会提供:

array([[48.01, -6.15],
       [48.02, -6.1 ],
       [48.03, -6.05],
       [48.04, -6.  ],
       [48.05, -5.95],
       [48.06, -5.9 ],
       [48.07, -5.85],
       [48.08, -5.79],
       [48.1 , -5.74]])

2
lat=[48.01,48.02,48.03,48.04,48.05,48.06,48.07,48.08,48.10]
lon=[-6.15,-6.10,-6.05,-6.00,-5.95,-5.90,-5.85,-5.79,-5.74]
mat = [[0]*2 for i in range(len(lat))]
k=0
for i, j in zip(lat, lon):
    mat[k][0]=i
    mat[k][1]=j
    k+=1
print (mat) 

1
[0 for j in range(2)] 可以简写为 [0]*2,因为整数是不可变的。 - Jean-François Fabre
@Jean-FrançoisFabre 已完成 :+1 - jophab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接