关于Numpy,a=np.array([1,2,3,4]),打印a.shape[0]。为什么会输出4?

问题描述 投票:0回答:6
import numpy as np
a = np.array([1,2,3,4])
print a.shape[0]

为什么会输出

4

数组

[1,2,3,4]
,我想它的行应该是
1
,所以谁能帮我解释一下原因?

python numpy
6个回答
2
投票

因为

print(a.shape)  # -> (4,)

你想(或想要?)拥有的是

a = np.array([[1],[2],[3],[4]])
print(a.shape)  # -> (4, 1)

或者更确切地说(?)

a = np.array([[1, 2 , 3 , 4]])
print(a.shape)  # -> (1, 4)

1
投票

如果你打印

a.ndim
,你会得到 1。这意味着
a
是一个一维数组(在 numpy 术语中排名为 1),轴长度 = 4。它与具有单个矩阵的 2D 矩阵不同行或列(等级 2)。

更多关于排名

相关问题:


0
投票

numpy 数组的 shape 属性返回数组的维度。如果 a 有 n 行和 m 列,则 a.shape 为 (n,m)。所以 a.shape[0] 是 n,a.shape[1] 是 m。


0
投票

numpy 数组返回数组的维度。因此,当您使用以下方法创建数组时,

a = np.array([1,2,3,4])

您将得到一个 4 维数组。您可以通过打印形状来检查,

print(a.shape) #(4,)

所以,你得到的不是 1x4 矩阵。如果你想这样做,

a = numpy.array([1,2,3,4]).reshape((1,4))
print(a.shape)

或者更好,

a = numpy.array([[1,2,3,4]])

0
投票
a = np.array([1, 2, 3, 4])

通过这样做,你会得到一个

a
作为 ndarray,它是一个一维数组。这里,形状 (4,) 表示数组由从 0 到 3 的单个索引进行索引。您可以通过索引 0~3 访问元素。它与多维数组不同。

您可以从此链接参考更多帮助numpy.array shape (R, 1) 和 (R,) 之间的区别


0
投票

将 numpy 导入为 np

X = np.array([[1,2,3], [4,5,6], [7,8,9]])

y = np.array([[9,7,8], [3,2,1], [6,5,4]])

Z = x[:2,1:] + y[1:3,:2]

打印(z)

© www.soinside.com 2019 - 2024. All rights reserved.