一、NumPy 是什么
NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生,它提供了:
- 快速高效的多维数组对象 ndarray;
- 直接对数组执行数学运算及对数组执行元素级计算的函数;
- 线性代数运算、随机数生成;
- 将 C、C++、Fortran 代码集成到 Python 的工具等。
- 它专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA 用其处理一些本来使用 C++,Fortran 或Matlab 等所做的任务
numpy可以不用循环便可对数据执行矢量化运算,大小相等数组之间的任何算术运算都会应用到元素,数组与标量之间的运算也会“广播”到数组的各个元素,因而使用该工具进行数据分析,可提高分析的运行效率
numpy使用之前需要用 import 语句导入:
import numpy import *
不过在实际分析中,对于类似numpy这样的大型库,尽量不要使用上述方式import所有内容,而是采用约定俗称的方式节省系统资源:(后文均使用这种方式导入)
import numpy as np
二、ndarray 是什么
数组对象 ndarray是 numpy 最为核心的数据接口
ndarray 是一个多维的数组对象,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点。
ndarray 的一个特点是同构:即其中所有元素的类型必须相同。
三、基本的函数介绍
- array: 将输入数据(列表、元祖、数组或者其他序列)转换成ndarray
- asarray:将输入转换成ndarray,如果输入数据本身是ndarray就不进行复制
- arange:类似 python 内置 range 函数,但返回一个 ndarray 而不是列表
- linspace:指定初始值、终止值和元素个数创建等差数列一维数组,通过endpoint参数指定是否包含终止值
- logspace: 类似linspace,不过是创建等比数列的数组,基数可以通过base参数指定,默认是10
- ones: 根据指定形状和 dtype 创建一个数据全部为1的数组
- ones_like: 以另一个数组为参数,并根据器形状和dtype 创建一个数组
- zeros、zeros_like:于ones、ones_likes 类型,产生的数据全为0的数组
- empty、empty_like:创建一个只分配内存空间但不填充任何值的数组
- eye、identity: 创建单位阵
- frombuffer、fromstring、fromfile: 这些函数可从字节序列或者文件创建数组
- fromfunction: 通过制定的函数创建数组
- random.randn:randn 是 numpy.random 中生成正态分布随机数据的函数
- 等等