掌握NumPy数组对象ndarray
1.1.1 创建数组对象
NumPy 提供了两种基本对象:ndarray和ufunc。ndarray(下文统一称为数组)是存储单一数据类型的多维数组,而ufunc则是对数组进行处理的函数。
1.数组的属性
属性 | 说明 |
ndim | 返回int。表示数组的维数 |
shape | 返回tuple(元组)。表示数组的尺寸,n行m列的矩阵,形状为(n,m) |
size | 返回int。表示元素的总数,等于数组形状的乘积 |
dtype | 返回data-type。描述数组中元素的类型 |
itemsize | 返回int。表示每个元素的大小(以字节为单位)。如dtype为float64的数组的itemsize的值为8(float64占64个bits,每个字节长度为64/8=8个字节) |
2.数组的创建
NumPy提供的array函数可以创建一维或多维数组,基本语法格式如下:
numpy.array(object,dtype=None,copy=True,order='K',subok=False,ndmin=0)
array函数的主要参数及说明
参数名称 | 说明 |
---|---|
object | 接收array。表示想要创建的数组。 |
dtype | 接收data-type。表示数组所需要的数据类型。默认None |
ndmin | 接收int。指定生成数组的最小维数。默认为None |
创建数组并查看数组属性:
重新设置数组的shape属性,发现只是改变了每个轴的大小,数组元素的顺序并没有改变。
使用arange函数创建数组,通过指定开始值、终值和步长来创建一维数组,创建的数组不含终值。
linspace函数创建数组,通过指定开始值、终值和步长来创建一维数组,默认设置包含终值
使用logspace函数创建等比数列
NumPy提供了其他函数创建特殊数组:如zeros、eye、diag和ones等。
数组数据类型的转换:
创建数据类型:
查看数据类型 :
自定义数据类型:
1.1.2 生成随机数
生成随机数:
生成服从正态分布的随机数:
randint函数可以生成给定上下限范围的随机数,格式如下
numpy.random.randint(low,high=None,size=None,dtype='1')
low为最小值,high为最大值,size为数组的shape。例:
1.1.3变换数组的形态
reshape函数在改变原始数据的形状的同时不改变原始数据的值。
使用ravel函数展平数组(横向)
使用flatten函数展平数组(可以选择横向展平或纵向展平)
注意:实现数组组合时,都是将ndarray对象构成的元组作为参数,传递给函数
使用hstack函数实现数组横向组合
使用vstack函数实现数组纵向组合
concatenate函数组合数组时,参数axis=1按横轴组合,参数axis=0时按纵轴组合
hsplit函数实现数组横向分割
vsplit函数实现数组纵向分割
split函数分割数组