📅  最后修改于: 2023-12-03 14:59:10.156000             🧑  作者: Mango
当我们在使用Numpy时,可能会遇到类似这样的数组定义:a = np.array([0, 0, 0])
和 a = np.array([[0, 0, 0]])
,两者看起来非常相似,但实际上有很大的不同。
首先我们先来看第一个定义:a = np.array([0, 0, 0])
,它定义了一个一维数组,即向量。我们可以通过以下代码来验证:
import numpy as np
a = np.array([0, 0, 0])
print(type(a))
print(a.shape)
输出结果是:
<class 'numpy.ndarray'>
(3,)
可以看到,a
的类型是 numpy.ndarray
,形状是 (3,)
。这意味着它是一个一维数组,有3个元素。
接下来我们看第二个定义:a = np.array([[0, 0, 0]])
,它定义了一个二维数组,即矩阵。我们可以通过以下代码来验证:
import numpy as np
a = np.array([[0, 0, 0]])
print(type(a))
print(a.shape)
输出结果是:
<class 'numpy.ndarray'>
(1, 3)
可以看到,a
的类型依然是 numpy.ndarray
,但形状是 (1, 3)
,这意味着它是一个二维数组,只有1行,但有3列。
通过上面的示例,我们可以很清楚地看到这两种方式的不同。一维数组是一个向量,二维数组是一个矩阵。具体来说:
这种差异非常重要,因为它影响了我们访问和操作这些数组的方式。如果我们知道一个数组是一维的,我们只需要考虑一个下标就可以访问它。但如果我们知道它是二维的,我们必须考虑行和列的下标来访问它的元素。
以上就是关于Numpy数组不同形态的介绍,希望能对大家有所帮助。