4. Numpy 简介
2017-11-15 本文已影响0人
孙宏志
Numpy 模块是Python的一种开源的数值计算扩展,是一个用python实现的科学计算的包。
主要包括:
- 一个具有矢量算术的运算和复杂的广播能力的快速且节省空间的多为数组,成为ndarray(N-dimensional array object)
- 用于对整组数据进行快速运算的标准数学函数:ufunc(universal function object)
- 实用的线性代数,傅里叶变换和随机数生成函数。
- Numpy 和稀疏矩阵的运算包Scipy配合实用更加方便。
Numpy历史
- 1995年Jim HugUNin 开发了Numeric
- 随后 Numarray包诞生
- Travis Oliphants 整合了 Numeric 和 Numarray,开发了Numpy, 2006年第一个版本诞生。
- 使用Anaconda发行版的Python,已经安装好Numpy模块,所以可以不用再单独安装Numpy模块了。
- 按照标准的Numpy标准,习惯使用import Numpy as np的方式导入该模块 (等于是一个使用约定)。
Numpy核心数据结构 ndarray
- ndarray(N-dimensional array)N维数组
- 一种由相同类型的元素组成的多维数组,元素数量是实现给定好的。
- 元素的数据类型由dtype(data-type)对象来指定,每个ndarray只有一种dtype类型。
- ndarray 的大小固定,创建好数组后数组大小是不会再发生改变的。
ndarray创建
可以通过numpy模块中的常用的几个函数进行创建ndarray多维数组对象,主要函数如下:
- array函数:接收一个普通的python序列,并将其转换为ndarray
- zeros函数:创建一个指定长度或者形状的全零数组。
- ones函数:创指定长度或者形状的全1数组。
- empty函数: 创建一个没有任何具体值的数组(准确地说是创建一些未初始化的ndarray多维数组)
- arange函数:类似python的range函数,通过指定开始值、终值和步长来创建一个一维数组,注意:最终创建的数组不包含终值。
- linspace函数: 通过指定开始值、终值和元素个数来创建一个一维数组,数据的数据元素符合等差数列,可以通过endpoint关键字指定是否包含终值,默认包含终值
- logspace函数:和inspace函数类似,不过创建的是等比数列数组。
- 使用随机数填充数组,即使用numpy.random中的random()函数来创建随机元素,数组包含的元素数量由参数决定。