学科分类
目录
数据分析

认识NumPy数组对象

NumPy作为高性能科学计算和数据分析的基础包,它是本书介绍的其它重要数据分析工具的基础,掌握NumPy的功能及其用法,将有助于后续其他数据分析工具的学习。

NumPy中最重要的一个特点就是其N维数组对象,即ndarray(别名array)对象,该对象具有矢量算术能力和复杂的广播能力,可以执行一些科学计算。不同于Python标准库,ndarray对象拥有对高维数组的处理能力,这也是数值计算中缺一不可的重要特性。

ndarray对象中定义了一些重要的属性,具体如表1所示。

表1 ndarray对象的常用属性

属性 具体说明
ndarray.ndim 维度个数,也就是数组轴的个数,比如一维、二维、三维等
ndarray.shape 数组的维度。这是一个整数的元组,表示每个维度上数组的大小。例如,一个n行和m列的数组,它的shape属性为(n,m)
ndarray.size 数组元素的总个数,等于shape属性中元组元素的乘积
ndarray.dtype 描述数组中元素类型的对象,既可以使用标准的Python类型创建或指定,也可以使用NumPy特有的数据类型来指定,比如numpy.int32、numpy.float64等
ndarray.itemsize 数组中每个元素的字节大小。例如,元素类型为float64的数组有8(64/8)个字节,这相当于ndarray.dtype.itemsize

值得一提的是,ndarray对象中存储元素的类型必须是相同的。

为了让读者更好地理解ndarray,接下来,通过一些示例来演示ndarray对象 的使用,具体代码如下。

In [1]: import numpy as np               # 导入NumPy工具包
In [2]: data = np.arange(12).reshape(3, 4) # 创建一个34列的数组
In [3]: data 
Out[3]: 
array([[ 0, 1, 2, 3],
​     [ 4, 5, 6, 7],
​     [ 8, 9, 10, 11]])
In [4]: type(data)
Out[4]: numpy.ndarray
In [5]: data.ndim     # 数组维度的个数,输出结果2,表示二维数组
Out[5]: 2
In [6]: data.shape    # 数组的维度,输出结果(34),表示34列
Out[6]: (3, 4)
In [7]: data.size     # 数组元素的个数,输出结果12,表示总共有12个元素
Out[7]: 12
In [8]: data.dtype    # 数组元素的类型,输出结果dtype('int64'),表示元素类型都是int64
Out[8]: dtype('int64')

上述示例中,第1行代码使用import...as语句导入numpy库,并将其取别名为np,表示后续会用np代替numpy执行操作。
第2行代码使用arange()和reshape()函数,创建了一个3行4列的数组data。其中,arange()函数的功能类似于range(),只不过arange()函数生成的是一系列数字元素的数组;reshape()函数的功能是重组数组的行数、列数和维度。
第4行代码使用type()函数查看了数组的类型,输出结果为numpy.ndarray。
第5行代码获取了数组的维度个数,返回结果为2,表示二维数组。
第6行代码获取了数组的维度,返回结果为(3,4),表示数组有3行4列。
第7行代码获取了数组中元素的总个数,返回结果为12,表示数组中一共有12个元素。
第8行代码获取了元素的具体类型,返回结果为dtype('int64'),表示元素的类型为int64。

点击此处
隐藏目录