Python:np.哪里()和广播

2024-04-18 06:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我了解一下广播是怎么工作的吗np.哪里()功能?在

x = np.arange(9.).reshape(3, 3)
np.where(x < 5, x, -1)      # Note: broadcasting.
array([[ 0.,  1.,  2.],
   [ 3.,  4., -1.],
   [-1., -1., -1.]])

Tags: 功能npwherearraynotearangereshapebroadcasting
1条回答
网友
1楼 · 发布于 2024-04-18 06:32:26

让我们看看各个部分

x = np.arange(9).reshape(3, 3)

>>> x
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

请注意,x < 5生成布尔数组:

^{pr2}$

将此插入np.where

>>> np.where(x < 5, x, -1)
array([[ 0,  1,  2],
       [ 3,  4, -1],
       [-1, -1, -1]])

请注意,-1已被广播以匹配x < 5的维度:

array([[-1, -1, -1],
       [-1, -1, -1],
       [-1, -1, -1]])

由于x已经具有正确的维度,因此不需要任何广播。在

相关问题 更多 >