说明
NumPy 教程 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
NumPy 的主要对象是同构的多维数组,它像很多元素(通常由数字)组成的表格,它们的数据类型相同,在不同方向上可以用非负的数字来索引它们,这些方向我们称为轴(axes)。
Array 的基础信息有以下几个:
信息 | 方法 | 说明 |
---|---|---|
维数 | ndarray.ndim | 数组的轴(维度)数 |
形状 | ndarray.shape | 数组尺寸、规格 一个整数元组,表示每个维度中数组的大小 |
大小 | ndarray.size | 数组元素的总数 |
类型 | ndarray.dtype | 描述数组中元素的类型 |
示例如下:
arr = np.array([(1,2), (3,4)])
arr
'''
array([[1, 2],
[3, 4]])
'''
arr.ndim # 2 维数
arr.shape # (2, 2) 形状
arr.size # 4 大小
arr.dtype # dtype('int64') 类型
NumPy 的数组类称为 ndarray,简称为 array。 请注意,numpy.array 与标准 Python 库类 array.array 不同,后者仅处理一维数组且功能较少。
ndarray 对象包含以下信息:
数组的轴(维度)数。以下就是一个三维数据:
a = np.arange(1, 9).reshape(2, 2, 2)
a
'''
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
'''
a.ndim
# 3
数组尺寸、规格,这是一个整数元组,指示每个维度中数组的大小。 对于具有 n 行和 m 列的矩阵,形状将为(n,m), 因此,形状元组的长度为轴数、维数。
上例的三维数据形成就是一个三个元素的元组,有三条轴:
a.shape
# (2, 2, 2)
数组元素的总数。 这等于形状元素的乘积。
a.size
# 8
a.shape
# (2, 2, 2)
2*2*2
# 8
描述数组中元素的类型, 可以使用标准 Python 类型创建或指定 dtype。 另外,NumPy 提供了自己的类型,如 numpy.int32,numpy.int16 和 numpy.float64 等。
a.dtype
# dtype('int64')
教程后续会有专门介绍 NumPy 的数据类型。
数组中每个元素以字节为单位的大小, 例如,float64 类型的元素数组的项目大小为8(= 64/8),而complex32 类型的元素数组的项目大小为 4(= 32/8)。
x = np.array([1,2,3], dtype=np.float64)
x.itemsize
# 8
x = np.array([1,2,3], dtype=np.complex128)
x.itemsize
# 16
它等效于 ndarray.dtype.itemsize。
包含数组实际元素的缓冲区,指向数组数据开头的 Python 缓冲区对象。通常,我们不需要使用此属性,因为我们将使用索引工具访问数组中的元素。
a.data
# <memory at 0x7fadecd7b7c0>
了解以上数据的基础信息,将有助于我们后续更加深入的学习。
更新时间:2022-06-24 15:32:35 标签:numpy 数组