python - 维度为 1 的 numpy 数组与没有该维度的 numpy 数组有什么区别

标签 python numpy

我可能有点困惑。但我想知道 x[2,3] 和 y[2,3,1] (相同的数组但具有大小为 1 的额外维度)之间有什么区别。

它们是相同的还是有区别。

最佳答案

让我们看一个 2D 示例

# shape (2,)
a = np.array([0,1])
# shape (2,1)
b = np.array([[3],[4]])

您可以将 a 视为单行 2 列(实际上是一维向量),将 b 数组视为 2 行单列。

让我们尝试添加它们:

a+a
# addition on a single dimension
# array([0, 2])

b+b
# also common dimensions
# array([[6],
#        [8]])

a+b
# different dimensions with one of common size
# addition will be broadcasted to generate a (2,2) shape
# array([[3, 5],
#        [4, 6]])

关于python - 维度为 1 的 numpy 数组与没有该维度的 numpy 数组有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70528388/

相关文章:

从一个本地时区到另一个本地时区的 Python 日期时间转换(+ 奖励夏令时)

python - 如何动态构造方法?

python - 如何断开 python DBus 连接?

python - 列表(numpy.array)缓慢的原因是什么?

python - 在Python Numpy中添加元素到指定索引

python - sqlite3 如果不存在则插入(使用 Python)

python - Plotly 热图中颜色条的标题

python - 3D 空间中最佳拟合平面的方向

numpy - 由于 RAM 使用过多,Colab 中的 session 崩溃

python - 对于 bool 输入,numpy.where 和 numpy.argwhere 之间有什么区别?