码迷,mamicode.com
首页 > 编程语言 > 详细

【Python实战15】NumPy数组的创建

时间:2014-07-01 10:45:36      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   数据   

NumPy提供了一个N维数组对象,即:ndarray。ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。


创建ndarray数组

创建数组最简单的方式就是使用array函数,它接受一切序列型的对象,然后产生一个新的含有传入数据的NumPy数组。如下:
bubuko.com,布布扣

嵌套的序列将会被转换为一个多为数组:
bubuko.com,布布扣

除非显示的说明,np.array会尝试为新建的这个数组推断出一个较为合适的数据类型,我们可以通过dtype来进行查看,比如上面刚建立的数组类型为:int32类型;另,我们可以通过shape属性来查看当前数组各个维度的大小。

除了np.array之外,另一些函数也能提供数组的创建,比如:zeros和ones分别可以创建指定长度并且内容全为0或者1的数组。如下:
可以通过np.zeros创建内容全为0的数组:
bubuko.com,布布扣
bubuko.com,布布扣
也可以通过ones创建一个内容全为1的数组:
bubuko.com,布布扣
bubuko.com,布布扣
也可以通过empty函数创建一个三维数组:
bubuko.com,布布扣
empty函数并不会返回全是0的数组,所以想要通过empty函数创建一个元素全是0的数组是不安全的。
bubuko.com,布布扣
另,可以通过arange函数创建在某个数范围内的数组:
bubuko.com,布布扣
bubuko.com,布布扣


ndarray的数据类型

dtype是一个特殊的对象,它含有ndarray将一块内存解释为特定数据类型所需的信息,我们可以通过dtype来制定当前新建数组的类型:
bubuko.com,布布扣
bubuko.com,布布扣
在NumPy中提供了多种数据类型:比如int8/uint8,int16/uint16,int32/uint32等等;我们可以通过astype方法来显式地转换一个数组的类型:
bubuko.com,布布扣
bubuko.com,布布扣

在上面的例子中将整型转换为了浮点型。如果将浮点型转换为整型的话,则小数部分会被截断:
bubuko.com,布布扣
bubuko.com,布布扣
如果一个字符串中都是数字的话,我们也可以将其转换为数值形式:
bubuko.com,布布扣
bubuko.com,布布扣
我们还可以通过一个数组的类型来指定另一个数组的类型:
bubuko.com,布布扣
bubuko.com,布布扣


数组和标量之间的运算

数组很重要,因为它不用编写循环即可对数据进行批量计算。这通常叫做矢量。大小相等的数组之间的任何算术运算都回将运算应用到各个元素上。
bubuko.com,布布扣
bubuko.com,布布扣
同样,数组与标量之间的算术运算也会将那个标量值传播到各个元素:
bubuko.com,布布扣
bubuko.com,布布扣

【Python实战15】NumPy数组的创建,布布扣,bubuko.com

【Python实战15】NumPy数组的创建

标签:style   blog   http   color   使用   数据   

原文地址:http://blog.csdn.net/wukongcode/article/details/36041459

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!