我想把numpy数组转换成numpy数组。你知道吗
我有一个数组:a = [[0,0,0],[0,255,0],[0,255,255],[255,255,255]]
我想要:b = [[[0,0,0],[0,0,0],[0,0,0]],[[0,0,0],[255,255,255],[0,0,0]],[[0,0,0],[255,255,255],[255,255,255]],[[255,255,255],[255,255,255],[255,255,255]]]
有什么简单的方法吗?你知道吗
我尝试了np.where(a == 0, [0,0,0],[255,255,255])
,但出现了以下错误:
ValueError: operands could not be broadcast together with shapes
您尝试的操作将通过以下小的修改生效:
要使多维索引可用,我们必须首先将
a
转换为array
。a[...,None]
在a
的末尾添加一个新维度,以容纳三元组0、0、0和255255。你知道吗您可以使用
broadcast_to
作为其中
a
是形状(3,4)
。然后你需要交换轴给予
@Divakar建议的更直接的广播方法是
在不交换轴的情况下产生相同的输出。你知道吗
看起来您想将每个元素复制3次,生成一个新的尾随维度。我们可以使用
repeat
(在添加新的尾随维度之后)来实现这一点:相关问题 更多 >
编程相关推荐