ShuangyanLiu的个人博客分享 http://blog.sciencenet.cn/u/ShuangyanLiu

博文

python从零开始 - NumPy-ndarray 总结

已有 2722 次阅读 2020-10-31 18:25 |个人分类:python学习笔记|系统分类:科研笔记

       Numpy库是一个开源python扩充程序库,ndarray对象是一个快速灵活的数据集容器。本次首先总结第一个小模块ndarray多维数组的相关知识点,用思维导图形象地给出整体框架,若有不足之处请各位指正。

image.png

       ndarray是齐次多维数组,由正整数元组索引,Numpy中维度称为轴(axis),数组的维数称为秩(rank)。其中所有元素都是相同类型。每次创建一个ndarray数组时,会在内存中同时存储shape(是ndarray维度大小的元组)和dtype(是解释说明ndarray数据类型的对象)。

         1.1 创建ndarray数组

image.png

                                                                  图1.1.1  创建ndarray数组


image.png

                                                               图1.1.2   创建多维数组

        


image.png

图1.1.3   创建常用函数

         1.2 ndarray对象属性

           根据思维导图可明显看出,关于ndarray的对象属性有5个,用程序表示为如图1.2.1所示:

image.png

      图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所示。

image.png

图1.3.1   astype数据类型转换

其中astype也可以通过另一个数组的dtype转换,创建一个新数组,并不会改变原来数组的数据类型。

           1.4 数组变换

           1.4.1数组重塑

            reshape函数,改变数据维度,传入的函数为新元素的元组。

            ravel数据散开函数,其返回值是数据的呈现效果,实际视图不改变。

            flatten数据扁平化函数,在重塑过程中会分配新的内存。

            如图1.4.1所示。

image.png

                               图1.4.1   数组重塑

           1.4.2数组合并

           concatenate函数,用于合并几个数组间的操作,通过指定轴方向,将多个数组合在一起。

           vstack方法,即axis=0,纵轴看,从上到下合并,行数增加。

           hstack方法,即axis=1,横轴看,从左到右合并,列数增加。

           如图1.4.2所示。

image.png 

                                图1.4.2   数组合并

           1.4.3数组拆分

            数组拆分是数组合并的反操作,通过split方法实现拆分为多个数组。如图1.4.3所示。

image.png

                                  图1.4.3   数组拆分

           1.4.4数组转置

            转置是重塑的一种特殊形式,通过transpose方法进行转置,其需要传入轴编号组成的元组。与其类似的还有T转置。

           1.4.5数组轴对换

            轴对换是通过swapaxes方法实现。

           1.5 NumPy的随机数函数

          在思维导图中清晰可见其函数的用法,读者可自行编写。



https://blog.sciencenet.cn/blog-3452429-1256506.html


下一篇:浅谈--无限长脉冲响应IIR数字滤波器
收藏 IP: 113.140.6.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 17:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部