Python:如何将两个平面列表组合成一个2D数组?

2024-05-12 13:58:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个平面的地理坐标列表(lat,long),我需要将它们组合成一个2D数组或矩阵。

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

    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个数据点。


Tags: 数据编辑列表宽度关系代表矩阵数组
2条回答

尝试使用numpy模块,即:np.column_stack 也许可以试试看它是否能给你想要的结果/格式

>>> np.column_stack((lat, lon))

签出numpy.column_stack 希望这有帮助:)

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) 

相关问题 更多 >