【发布时间】:2021-11-10 20:44:03
【问题描述】:
我只是想从我的 for 循环中的 int 值 (dist) 创建一个 (n,1) 数组。 现在,我只有一系列 int 值,因为我在每次迭代中都打印“dist”值。 如何将每个 dist 合并到一个数组中(在这种情况下只有一个 n 向量),以便 array[i][0] 是 for 循环第 i 次迭代的 dist 值?
我知道这一定很简单,我才刚刚开始使用 NumPy。我试过插入,追加,似乎不起作用。我一开始初始化的distmatrix没用过……
这里是现在的代码:
distmat=np.zeros((len(CoordNodesRad[:,0]),1),int)
lat = CoordNodesRad[:,0]
lng = CoordNodesRad[:,1]
for i in range(len(CoordNodesRad[:,0])):
dist = distanceGPS(depot[0], depot[1], lat[i], lng[i])
#print(int(dist))
#distmat=np.append(distmat,dist,axis=0)
print(dist)
distmat=np.insert(dist,i,dist)
print(distmat)
感谢您的帮助
【问题讨论】:
-
请提供一个可重现的例子。我们不知道
CoordNodesRad是什么或者distanceGPS()函数是做什么的,它的输入输出是什么样的。 -
将值附加到列表更容易、更快捷。
-
CoordNodesRad 是一个 n 行 2 列的数组,经纬度为 n 个点。 distanceGPS() 计算从一个站点(具有已知 GPS 坐标)到所有其他 n 个节点的距离。它们不相关(我认为)因为它们有效,我在打印的“dist”值中有实际结果(即从仓库到 n 个节点的距离),但我希望它们存储在一个数组中(在我的情况下“ distmat")。
标签: python arrays numpy for-loop integer