||
Numpy库是一个开源python扩充程序库,ndarray对象是一个快速灵活的数据集容器。本次首先总结第一个小模块ndarray多维数组的相关知识点,用思维导图形象地给出整体框架,若有不足之处请各位指正。
ndarray是齐次多维数组,由正整数元组索引,Numpy中维度称为轴(axis),数组的维数称为秩(rank)。其中所有元素都是相同类型。每次创建一个ndarray数组时,会在内存中同时存储shape(是ndarray维度大小的元组)和dtype(是解释说明ndarray数据类型的对象)。
1.1 创建ndarray数组
图1.1.1 创建ndarray数组
图1.1.2 创建多维数组
图1.1.3 创建常用函数
1.2 ndarray对象属性
根据思维导图可明显看出,关于ndarray的对象属性有5个,用程序表示为如图1.2.1所示:
图1.2.1 数组属性
需要注意的是:arr的数据类型是int32位,对于计算机而言,1个字节是8位,所以arr的itemsize属性值为4。
1.3 ndarray数据类型
需要先解释常见的几种数据类型,与c语言相同,浮点数(float),单精度,4字节,浮点形式存储;整数(int),4字节,且在浮点数转换为整数形式时,不会按照四舍五入方式转换,而是直接截取整数部分转换;复数(complex),用于独立式环境,与其相对应的还有虚部(Imaginary);布尔值(bool),专门用于表示真假,真为1,假为0,只有两种表示方法;字符串(string_),就是指字符堆积成的串序列;
对于创建好的ndarray数组,我们可以采用astype方法进行数据类型的转换,如图1.3.1所示。
图1.3.1 astype数据类型转换
其中astype也可以通过另一个数组的dtype转换,创建一个新数组,并不会改变原来数组的数据类型。
1.4 数组变换
1.4.1数组重塑
reshape函数,改变数据维度,传入的函数为新元素的元组。
ravel数据散开函数,其返回值是数据的呈现效果,实际视图不改变。
flatten数据扁平化函数,在重塑过程中会分配新的内存。
如图1.4.1所示。
图1.4.1 数组重塑
1.4.2数组合并
concatenate函数,用于合并几个数组间的操作,通过指定轴方向,将多个数组合在一起。
vstack方法,即axis=0,纵轴看,从上到下合并,行数增加。
hstack方法,即axis=1,横轴看,从左到右合并,列数增加。
如图1.4.2所示。
图1.4.2 数组合并
1.4.3数组拆分
数组拆分是数组合并的反操作,通过split方法实现拆分为多个数组。如图1.4.3所示。
图1.4.3 数组拆分
1.4.4数组转置
转置是重塑的一种特殊形式,通过transpose方法进行转置,其需要传入轴编号组成的元组。与其类似的还有T转置。
1.4.5数组轴对换
轴对换是通过swapaxes方法实现。
1.5 NumPy的随机数函数
在思维导图中清晰可见其函数的用法,读者可自行编写。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-19 23:07
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社