如何使用广播将一个矩阵的每一行复制到另一个矩阵的每一行?
How to copy every row of one matrix into every other row of another matrix using broadcasting?
如果我有以下矩阵:
a = np.array([['A'], ['B'], ['C']])
b = np.array([['0'], ['0'], ['0'], ['0'], ['0'], ['0']])
我想获得以下内容:
c = np.array([['A'], ['0'], ['B'], ['0'], ['C'], ['0']])
有没有办法使用某种类型的 numpy broadcast/vectorized 解决方案而不是 for 循环来获取 c?
瞧:
c = np.reshape(b, (3, 2, 1))
c[:,0]=a
c.shape=6,1
c
array([['A'],
['0'],
['B'],
['0'],
['C'],
['0']],
dtype='<U1')
用于在 b
中进行原位编辑 -
b[::2] = a
要在新数组中进行这些更改,请复制并编辑 -
c = b.copy()
c[::2] = a
如果我有以下矩阵:
a = np.array([['A'], ['B'], ['C']])
b = np.array([['0'], ['0'], ['0'], ['0'], ['0'], ['0']])
我想获得以下内容:
c = np.array([['A'], ['0'], ['B'], ['0'], ['C'], ['0']])
有没有办法使用某种类型的 numpy broadcast/vectorized 解决方案而不是 for 循环来获取 c?
瞧:
c = np.reshape(b, (3, 2, 1))
c[:,0]=a
c.shape=6,1
c
array([['A'],
['0'],
['B'],
['0'],
['C'],
['0']],
dtype='<U1')
用于在 b
中进行原位编辑 -
b[::2] = a
要在新数组中进行这些更改,请复制并编辑 -
c = b.copy()
c[::2] = a