将值追加到numpy数组
我有两个不同的数组b0和b1,其中: b0=[1,2] b1=[3,4] 我想将列表[b0的第一个元素,b1的第一个元素]附加到新数组B中 同样地: 列表[b0的第二个元素,b1的第二个元素]要附加到新数组B中 等等 这就是我的新阵列应该是这样的: 数组([1,3],[2,4]) 下面是我的代码:将值追加到numpy数组,numpy,Numpy,我有两个不同的数组b0和b1,其中: b0=[1,2] b1=[3,4] 我想将列表[b0的第一个元素,b1的第一个元素]附加到新数组B中 同样地: 列表[b0的第二个元素,b1的第二个元素]要附加到新数组B中 等等 这就是我的新阵列应该是这样的: 数组([1,3],[2,4]) 下面是我的代码: b0=np.array([1,2]) b1=np.array([3,4]) for val in range(len(b1)): L=[b0[val],b1[val]] B=np.a
b0=np.array([1,2])
b1=np.array([3,4])
for val in range(len(b1)):
L=[b0[val],b1[val]]
B=np.append(L,axis=0)
print(B)
我缺少位置参数值错误。请帮助我修复它。如果你坚持使用numpy数组,我会这么做
new = []
for x, y in zip(b0, b1):
new.append([x, y])
new = np.array(new)
或列表理解
new = np.array([[x,y] for x, y in zip(b0, b1)])
结果:
array([[1, 3],
[2, 4]])
如果你坚持使用numpy数组,我会这么做
new = []
for x, y in zip(b0, b1):
new.append([x, y])
new = np.array(new)
或列表理解
new = np.array([[x,y] for x, y in zip(b0, b1)])
结果:
array([[1, 3],
[2, 4]])
在我看来,在这里使用np.append不是最方便的方法。您始终可以将python列表转换为np.array,在这种情况下只需使用zip就更容易了
b0=np.array([1,2])
b1=np.array([3,4])
B=np.array(list(zip(b0,b1)))
输出:
>>> B
array([[1, 3],
[2, 4]])
在我看来,在这里使用np.append不是最方便的方法。您始终可以将python列表转换为np.array,在这种情况下只需使用zip就更容易了
b0=np.array([1,2])
b1=np.array([3,4])
B=np.array(list(zip(b0,b1)))
输出:
>>> B
array([[1, 3],
[2, 4]])
订单错了:
In [56]: np.vstack((b0,b1))
Out[56]:
array([[1, 2],
[3, 4]])
但您可以将其转置:
In [57]: np.vstack((b0,b1)).T
Out[57]:
array([[1, 3],
[2, 4]])
堆栈
是一种更通用的级联器
In [58]: np.stack((b0,b1), axis=1)
Out[58]:
array([[1, 3],
[2, 4]])
或与:
In [59]: np.column_stack((b0,b1))
Out[59]:
array([[1, 3],
[2, 4]])
在我最近的另一个回答中,有关于组合阵列的更多详细信息:
所有这些,包括np.append
使用np.concatenate
,只需首先以不同的方式调整维度np.append
经常被误用。它不是一个列表附加克隆。不应在循环中重复使用。他们每次都制作一个新的数组,这不是很有效
订单错了:
In [56]: np.vstack((b0,b1))
Out[56]:
array([[1, 2],
[3, 4]])
但您可以将其转置:
In [57]: np.vstack((b0,b1)).T
Out[57]:
array([[1, 3],
[2, 4]])
堆栈
是一种更通用的级联器
In [58]: np.stack((b0,b1), axis=1)
Out[58]:
array([[1, 3],
[2, 4]])
或与:
In [59]: np.column_stack((b0,b1))
Out[59]:
array([[1, 3],
[2, 4]])
在我最近的另一个回答中,有关于组合阵列的更多详细信息:
所有这些,包括
np.append
使用np.concatenate
,只需首先以不同的方式调整维度np.append
经常被误用。它不是一个列表附加克隆。不应在循环中重复使用。他们每次都会创建一个新阵列,这不是很有效。请查看帮助或文档。签名是numpy.append(arr,values,axis=None)
,因此您需要一个数组arr
、要附加到arr
的值值
以及可选的axis
。请查看帮助或文档。签名是numpy.append(arr,values,axis=None)
,因此您需要一个数组arr
、要附加到arr
的值和可选的axis
。