Python 如何解决:ValueError:操作数无法与形状(4,)(4,6)一起广播
我必须将2个阵列与广播相加。这是第一个:Python 如何解决:ValueError:操作数无法与形状(4,)(4,6)一起广播,python,arrays,numpy,array-broadcasting,Python,Arrays,Numpy,Array Broadcasting,我必须将2个阵列与广播相加。这是第一个: a = [0 1 2 3] 这是第二个: A = [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 14 15 16 17] [18 19 20 21 22 23]] 这是我迄今为止一直尝试的代码: a=np.array(a) A=np.数组(A) G=a+a 印刷品(G) 但是当我运行时,它抛出了这个错误:ValueError:操作数不能与形状(4,)(4,6)一起广播。 如何求解?在执行数学运
a = [0 1 2 3]
这是第二个:
A = [[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
这是我迄今为止一直尝试的代码:
a=np.array(a)
A=np.数组(A)
G=a+a
印刷品(G)
但是当我运行时,它抛出了这个错误:ValueError:操作数不能与形状(4,)(4,6)一起广播。
如何求解?在执行数学运算时,数组需要具有相同的秩。也就是说,不能添加两个形状数组(4,)和(4,6),但可以添加形状数组(4,1)和(4,6) 您可以按如下方式添加该额外维度:
a = np.array(a)
a = np.expand_dims(a, axis=-1) # Add an extra dimension in the last axis.
A = np.array(A)
G = a + A
在这样做和广播后,a
实际上将成为
[[0 0 0 0 0 0]
[1 1 1 1 1 1]
[2 2 2 2 2 2]
[3 3 3 3 3 3]]
为了进行加法(a的实际值不会改变,
a
仍然是[[0][1][2][3]
;上面是数组a
。数组在执行数学运算时需要具有相同的秩。也就是说,不能添加两个形状数组(4,)和(4,6),但可以添加形状数组(4,1)和(4,6)
您可以按如下方式添加该额外维度:
a = np.array(a)
a = np.expand_dims(a, axis=-1) # Add an extra dimension in the last axis.
A = np.array(A)
G = a + A
在这样做和广播后,a
实际上将成为
[[0 0 0 0 0 0]
[1 1 1 1 1 1]
[2 2 2 2 2 2]
[3 3 3 3 3 3]]
为了便于添加(a
的实际值不会改变,a
仍将是[[0][1][2][3]
;上面是将添加到的数组a
)