gpt4 book ai didi

python - 如何理解 python numpy 数组中的空维度?

转载 作者:太空狗 更新时间:2023-10-30 01:57:45 25 4
gpt4 key购买 nike

在 python numpy 包中,我无法理解 ndarray 的第二维为空的情况。这是一个例子:

    In[1]: d2 = np.random.rand(10)
In[2]: d2.shape = (-1, 1)

In[3]: print d2.shape
In[4]: print(d2)

In[5]: print d2[::2, 0].shape
In[6]: print d2[::2, 0]

Out[3]:(10, 1)
Out[4]:
[[ 0.12362278]
[ 0.26365227]
[ 0.33939172]
[ 0.91501369]
[ 0.97008342]
[ 0.95294087]
[ 0.38906367]
[ 0.1012371 ]
[ 0.67842086]
[ 0.23711077]]

Out[5]: (5,)
Out[6]: [ 0.12362278 0.33939172 0.97008342 0.38906367 0.67842086]

我的理解是d2是一个10行1列的ndarray。Out[6] 显然是一个 1×5 的数组,维度怎么可能是 (5,) 呢?空的二维是什么意思?

最佳答案

让我举一个例子来说明一个重要的区别。

d1 = np.array([1,2,3,4,5]) # array([1, 2, 3, 4, 5])
d1.shape -> (5,) # row array.
d1.size -> 5
# Note: d1.T is the same as d1.

d2 = d1[np.newaxis] # array([[1, 2, 3, 4, 5]]). Note extra []
d2.shape -> (1,5)
d2.size -> 5
# Note: d2.T will give a column array
array([[1],
[2],
[3],
[4],
[5]])
d2.T.shape -> (5,1)

关于python - 如何理解 python numpy 数组中的空维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36412762/

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