我想弄明白为什么我们要在数组中增加新的维度?
x = np.expand_dims(x, axis=0)
这将向x的数组插入一个新的轴。它的目的是什么?
发布于 2020-12-01 08:35:41
何时需要expand_dims的示例:
我们有两个数组:
a1 = np.arange(20).reshape(4,5)
a2 = np.array([10, 20, 30, 40, 50])
尽管a1是2-D数组,a2是1-D数组,但是可以添加它们:
a1 + a2
产量:
array([[11, 22, 33, 44, 55],
[16, 27, 38, 49, 60],
[21, 32, 43, 54, 65],
[26, 37, 48, 59, 70]])
也就是说,a2的连续元素被添加到a1中的连续列中( a2中有5个元素,a1中有5个列)。
但是,如果您有另一个数组:
a3 = np.array([10, 20, 30, 40])
并且希望将a3的每个元素添加到a1中的每个行中,然后尝试运行:
a1 + a3
您将得到ValueError异常。
要成功执行此操作,a3必须是列数组,即:
所以,你可以跑:
a1 + np.expand_dims(a3, axis=1)
得到:
array([[11, 12, 13, 14, 15],
[26, 27, 28, 29, 30],
[41, 42, 43, 44, 45],
[56, 57, 58, 59, 60]])
https://stackoverflow.com/questions/65089724
复制相似问题