我有一个NumPy数组
import numpy as np
A = np.array([2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
我想插入一个新的列到 A
显得
A=[[1,2], [1,3], [1,4], [1,5], [1,6], [1,7], [1,8], [1,9], [1,10], [1,11]]
我试着用 NumPy.insert(A,0,1,axis=1)
但它给出了以下错误。
AxisError: Axis 1 is out of bounds for array of dimension 1.
我找不到自己哪里做错了。请帮我纠正这个问题,并提出其他方法。
解决方案:
np.insert(A,…)。 只插入一个值,你需要叠加第二列,你可以使用 np.column_stack 或 np.c_
import numpy as np
A=np.array([2,3,4,5,6,7,8,9,10,11])
arr1 = np.ones(len(A))
out = np.c_[arr1,A]
array([[ 1., 2.],
[ 1., 3.],
[ 1., 4.],
[ 1., 5.],
[ 1., 6.],
[ 1., 7.],
[ 1., 8.],
[ 1., 9.],
[ 1., 10.],
[ 1., 11.]])
np.column_stack((arr1,A))
array([[ 1., 2.],
[ 1., 3.],
[ 1., 4.],
[ 1., 5.],
[ 1., 6.],
[ 1., 7.],
[ 1., 8.],
[ 1., 9.],
[ 1., 10.],
[ 1., 11.]])