我有以下的二维数组:numpy的减/从二维阵列添加一维数组
a = array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12],
[13, 14, 15]])
和另一维数组:
b = array([ 1, 2, 3, 4, 5])
那么我想计算像
东西c = a - b
意图得到:
c = array([[0, 1, 2],
[2, 3, 4],
[4, 5, 6],
[6, 7, 8],
[8, 9, 10]])
,而是我得到的错误信息:
Traceback (most recent call last):
Python Shell, prompt 79, line 1
ValueError: operands could not be broadcast together with shapes (5,3) (5,)
我读的广播规则,但仍然不会更聪明。我可以用for-loops或类似的方法做一个解决方法,但应该有一个直接的方法。谢谢
待办事项'A - B [:,无]'或'a - b [:,np.newaxis]',即通过添加一个维度将'b'转换为二维数组,然后进行减法。 – Divakar
@Divakar你应该从你的评论中回答问题。 –
这不是像'SO'这样的基本问题吗? DUP-锤? :) – Divakar