Python提供了一个array模块。array和list不同,array直接保存数值,和C语言的一维数组比较类似。但是由于Python的array模块不支持多维,也没有各种运算函数,因此不适合做数值运算。NumPy弥补了Python不支持多维等不足之处,它提供了一种存储单一数据类型的多维数组--ndarray。本次将实现ndarray多维数组的创建、生成随机数、通过索引访问一维或多维数组并变换其形态。
一、创建数组对象
NumPy提供了两种基本的对象:ndarray(N-dimensional Array)和ufunc(Universal Function)。ndarray是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。在NumPy中,维度称为轴。
1.数组属性
为了更好地理解和使用数组,在创建数组之前,了解数组的基本属性是十分有必要的。数组的属性及其说明如图所示。
属性名称 | 属性说明 |
---|---|
ndim | 返回int。表示数组的维数 |
shape | 返回tuple。表示数组形状,对于n行m列的矩阵,形状为(n,m) |
size | 返回int。表示数组的元素总数,等于数组形状中各元素的积 |
dtype | 返回data-type。表示数组中元素的数据类型 |
itemsize | 返回int。表示数组的每个元素的存储空间(以B为单位)。例如,一个元素类型为float64的数组的itemsize属性值为8(float64占用64bit,1B为8bit,所以float64,占用8B)。一个元素类型为complex32的数组的itemsize属性值为4 |
2.数组创建
(1)Numpy提供的array函数可以创建一维或多维数组,其基本使用格式如下:
numpy.array(object,dtype=None, *,copy=True,order='k',subok=False,ndmin=0,like=None)
(2)array函数的主要参数及其说明如图所示:
参数名称 | 参数说明 |
---|---|