<分区>
我想了解更多 numpy 来处理数组。我发现 a[:,None] 和 a[:,] 是不同的。我想深入了解何时何地使用它们。
我尝试解决以特殊方式从 2d 数组中减去 1d 的问题,就像 numpy-subtract-add-1d-array-from-2d-array我意识到它在 a[:,None] 和 a[:,] 之间是不同的。
>>> import numpy as np
>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> a
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> b = np.array([1,2,3])
>>> b
array([1, 2, 3])
>>> b[:,None]
array([[1],
[2],
[3]])
>>> b[:,]
array([1, 2, 3])
>>> b[None,:]
array([[1, 2, 3]])
>>> a-b[None,:]
array([[0, 0, 0],
[3, 3, 3],
[6, 6, 6]])
>>> b[,:] #false operation!!!
SyntaxError: invalid syntax
>>> a-b
array([[0, 0, 0],
[3, 3, 3],
[6, 6, 6]])
>>> a-b[:,np.newaxis]
array([[0, 1, 2],
[2, 3, 4],
[4, 5, 6]])
谁能给我官方或具体的引用资料?我会非常感谢你!