NumPy-如何广播不同形状的数组

问题描述 投票:0回答:1

我有200 x 200的向量数组。其形状为(200, 200, 3)

我也有22个向量的数组。其形状为(22,3)

我想从第一个数组中的每个向量中减去第二个数组中的所有22个向量。输出的形状应为(200, 200, 22, 3)

我想执行类似操作

first - second

但是我得到了错误

*** ValueError: operands could not be broadcast together with shapes (200,200,3) (22,3)

我认为我需要以某种方式填充第一个数组,以允许NumPy一起广播数组。我如何告诉NumPy如何进行广播?

numpy numpy-broadcasting numpy-ndarray
1个回答
0
投票

第一个数组:200 X 200 X 3第二个数组:22 X 3

在这种情况下,您对此执行的任何算术运算都将产生(200, 200, 3)

如果您尝试过,可能会收到错误:2nd Array - 1st Array

您可以查看此:https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html

© www.soinside.com 2019 - 2024. All rights reserved.