【发布时间】:2017-12-02 19:42:53
【问题描述】:
假设我们像这样创建一个 numpy 数组:
x = np.linspace(1,5,5).reshape(-1,1)
结果如下:
array([[ 1.],
[ 2.],
[ 3.],
[ 4.],
[ 5.]])
现在我们将这个数组的转置添加到它:
x + x.T
结果如下:
array([[ 2., 3., 4., 5., 6.],
[ 3., 4., 5., 6., 7.],
[ 4., 5., 6., 7., 8.],
[ 5., 6., 7., 8., 9.],
[ 6., 7., 8., 9., 10.]])
我不明白这一点,因为这两个数组具有不同的维度(5x1 和 1x5),并且我在线性代数中了解到,我们只能对具有相同维度的矩阵求和。
编辑:好的,谢谢,明白了
【问题讨论】:
-
请阅读
broadcasting- docs.scipy.org/doc/numpy-1.13.0/user/basics.broadcasting.html。 -
不要在您的问题中添加“编辑:好的,谢谢,知道了”,请将答案(下方)标记为正确。
-
我在发布以下答案之前添加了编辑。第一条评论为我解决了问题,据我所知,您无法将评论标记为正确
标签: python arrays numpy transpose