Python:如何将两个平面列表组合成一个2D数组?
我有两个地理坐标平面列表(lat,long),我需要将它们组合成二维数组或矩阵 它们现在存储在数据帧中:Python:如何将两个平面列表组合成一个2D数组?,python,arrays,Python,Arrays,我有两个地理坐标平面列表(lat,long),我需要将它们组合成二维数组或矩阵 它们现在存储在数据帧中: 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.85
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
如何将这两个列表合并到一个二维数组中,以便保留横向对应关系?以下是简单的数据:
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个数据点
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
的信息,您只需显式地将它们添加到一个新列表中,然后像
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]
]
尝试使用numpy模块,即:np.column\u stack
也许可以尝试一下,看看它是否能给你想要的结果/格式
>>np.列\u堆栈((横向,纵向))
退房
希望这有帮助:)添加到的答案中:
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]])
你想要什么结果?它可以通过一个简单的循环或函数来完成。你有什么困难?请检查我的编辑。我没说什么重要的话。@CF84你能说得更具体一点吗?我们对您问题的边界了解得越多,我们的答案就越相关。@CF84只要您有一个带有lat列和lon列的数据框df
,您就可以执行list(zip(df.lat,df.lon))
。我不知道从数据帧中删除一些行会如何影响这一点。[0代表范围(2)中的j]
可能是[0]*2
,因为整数是不可变的。@Jean-Françoisfare Done:+1
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]])