gpt4 book ai didi

python - 具有 3 个参数的 Numpy ndarray 形状

转载 作者:太空狗 更新时间:2023-10-30 00:34:13 25 4
gpt4 key购买 nike

当提供 3 个参数时,我对 ndarray 的形状感到困惑:

例如,有什么区别:

np.zeros((2, 1, 3))
array([[[ 0., 0., 0.]],

[[ 0., 0., 0.]]])

和:

np.zeros((1, 2, 3))
array([[[ 0., 0., 0.],
[ 0., 0., 0.]]])

在我看来,它们都代表2*3的矩阵。

最佳答案

不行,形状不一样,要注意方括号:

>>> np.zeros((2, 1, 3))
array([<b>[</b>[ 0., 0., 0.]<b>]</b>,

<b>[</b>[ 0., 0., 0.]<b>]</b>])

对比:

>>> np.zeros((1, 2, 3))
array([<b>[</b>[ 0., 0., 0.],
[ 0., 0., 0.]<b>]</b>])

如您所见,在第一次调用中,我们有两次用于第二维的一对方括号,而在后者中,我们只有一对这样的方括号。

形状也不一样:

>>> np.zeros((2, 1, 3)).shape
(2, 1, 3)
>>> np.zeros((1, 2, 3)).shape
(1, 2, 3)

所以在前者中我们有一个包含两个子列表的列表。这些子列表中的每一个都包含一个元素:三个元素的列表。在后者中,我们有一个包含一个元素的列表:一个包含两个元素的子列表,这两个元素是包含三个元素的列表。

所以一个 vanilla Python 列表等价物是:

[ [ [0, 0, 0] ], [ [0, 0, 0] ] ]

对比:

[ [ [0, 0, 0], [0, 0, 0] ] ]

关于python - 具有 3 个参数的 Numpy ndarray 形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48539344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com