【发布时间】:2019-05-25 20:18:19
【问题描述】:
我需要在 python 3.6 中使用numpy 将一维数组(坐标)附加到二维数组中。
我可以使用 append 对列表执行此操作,例如下面的第一个示例。
mastlist =[]
i=0
for i in range (10):
i=i+1
coor = []
xcoor = i
ycoor =i*2
coor.append(xcoor)
coor.append(ycoor)
mastlist.append(coor)
print(mastlist)
但我想要一种使用numpy 数组的更高效的方法。当我尝试将列表方法转换为数组时(第二个示例),
import numpy as np
i=0
for i in range (10):
i=i+1
centroid =np.append(i,i*2)
masterarray=np.append([centroid],axis=0)
print(masterarray)
print(masterarray)
我收到以下错误。
我的错误是:
TypeError: append() 缺少 1 个必需的位置参数:'values'
我希望有一个数组,例如:
[[1, 2], [2, 4], [3, 6], [4, 8], [5, 10], [6, 12], [7, 14], [8, 16], [9, 18], [10, 20]]
我也尝试过使用extend、vstack 和concatenate。
欢迎任何建议。
【问题讨论】:
-
列表追加优于重复的 numpy 连接。做对会更快、更容易。
-
小清理
mastlist.append([xcoor,ycoor]) -
质心值是否总是连续的,
np.arange(10)和 *2? -
质心值并不总是可以考虑和 *2。
标签: arrays python-3.x numpy