从0到1:Python数据分析
上QQ阅读APP看书,第一时间看更新

2.3 数组属性

在NumPy中,一个数组就是一个ndarray对象。ndarray,是n dimension array (N维数组)的缩写。数组的属性非常多,常用的属性如表2-3所示。

表2-3 数组常用的属性

ndim是n dimension(N维)的缩写,dtype是data type(数据类型)的缩写。

举例:一维数组
import numpy as np
nums = [1, 2, 3, 4, 5, 6, 7, 8]
arr = np.array(nums)
print(arr.ndim)
print(arr.shape)
print(arr.size)
print(arr.dtype)

输出结果如下:

1
(8,)
8
int32
分析

从结果可以看出,arr的维度是1,表示这是一个一维数组;arr的形状是(8,);元素的个数是8;元素的类型是int32,即32位整数。

举例:二维数组
import numpy as np
nums = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr = np.array(nums)
print(arr.ndim)
print(arr.shape)
print(arr.size)
print(arr.dtype)

输出结果如下:

2
(2, 4)
8
int32
分析

从结果可以看出,arr的维度是2,表示这是一个二维数组;arr的形状是(2, 4),表示这是一个2×4的二维数组;元素的个数是8;元素的类型是int32。

举例:三维数组
import numpy as np
nums = [[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]
arr = np.array(nums)
print(arr.ndim)
print(arr.shape)
print(arr.size)
print(arr.dtype)

输出结果如下:

3
(2, 2, 3)
12
int32
分析

从结果可以看出,arr的维度是3,表示这是一个三维数组;arr的形状是(2, 2, 3),表示这是一个2×2×3的三维数组;元素的个数是12;元素的类型是int32。

“数组形状”这个概念非常重要,在后面的学习中会经常接触到,读者一定要理解清楚。

【常见问题】

我们经常说起“数组的类型”,它指的是什么呢?

在NumPy中,对于一个数组来说,所有元素的类型都是相同的,所以数组的类型其实指的就是它元素的类型。

了解这一点是非常重要的,很多读者可能觉得“数组的类型”这种叫法有问题,其实并非如此。