利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一、NumPy 是什么
NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生。在之前的随笔里已有更加详细的介绍,这里不再赘述。
利用 Python 进行数据分析(一)简单介绍
二、ndarray 是什么
ndarray 是一个多维的数组对象,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点。
ndarray 的一个特点是同构:即其中所有元素的类型必须相同。
三、ndarray 的创建
array() 函数
最简单的方法, 使用 NumPy 提供的 array() 函数直接将 Python 数组转换为 ndarray 数组,array() 接受一切序列类型的对象,例如将一个列表转换成 ndarray 数组:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-0.png)
zeros() 函数和 ones() 函数
这两个函数分别可以创建指定长度或形状的全0或全1的 ndarray 数组,比如:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-1.png)
empty() 函数
这个函数可以创建一个没有任何具体值的 ndarray 数组,例如:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-2.png)
需要注意一点的是,这个函数返回的值不一定是 0,可能是其他未初始化的垃圾值。
arange() 函数
这个函数是 Python 内置函数 range 的数组版,使用方法:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-3.png)
四、ndarray 的数据类型
在创建 ndarray 数组的时候可以指定元素的数据类型,例如:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-4.png)
所支持的数据类型包括整数、浮点数、复数、布尔值、字符串或是普通的 Python 对象(object)。
在创建 ndarray 数组的时候,如未显示指定类型,它会尝试推断出一个合适的数据类型。
类型转换
通过 ndarray 的 astype() 方法进行强制类型转换,浮点数转换为整数时小数部分会被舍弃:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-5.png)
如果某字符串类型的数组里的元素全是数字,也可以通过此方法直接转换成数值类型:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-6.png)
astype 会创建一份新的数组,即便是指定为同类型也依然如此。
五、ndarray 的简单使用
使用 ndarray 数组可以让我们不需要使用循环就可以对列表里的元素执行操作,语法和对标量元素的操作一样,例如:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/861351/o_ch04-7.png)
作者:backslash112 (美国CS研究生在读/机器人工程师)
出处:http://sirkevin.cnblogs.com
GitHub:https://github.com/backslash112
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://sirkevin.cnblogs.com
GitHub:https://github.com/backslash112
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2016-08-04 19:43 backslash112 阅读(33385) 评论(0) 编辑 收藏 举报