Numpy (NumericalPython的简称)是高性能科学计算和数据分析基础包。因此,熟悉Numpy的使用,对于后续其它工具的使用具有重要意义。对于绝大部分数据分析工作而言,我们需要做的无非就是以下几个方面:
·剔除数据中的异常值
·常用的数组算法,即排序、选择、集合运算等
·数据的分组运算(聚合、转换、函数应用等)
·数据的分类
下面就Numpy的常用功能进行展开,做到迅速而成体系地掌握Numpy。
1.ndarray的使用
Numpy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器。利用它可以很方便地完成整块数据的处理,虽然大多数数据分析工作并不需要深入理解Numpy,但是精通面向数组的编程和思维方式是成为Python科学计算牛人的一大关键步骤。
(1)创建ndarray
a.注意需要使用import numpy as np;
b.创建ndarray的时候,既可以像上图直接创建,也可以先定义一个数组对象,然后用这个数组对象创建,举例如下:
>> Data = [1.23, 5.70, 4.78, 6.12]
>> Arr = np.array(Data)
c.ndarray的数据类型可以通过dtype属性来查询,其所支持的类型可以查询相关资料,这里只列出几种常用类型:
d.ndarray的维数可以通过shape属性来查询;
e.ndarray数组与标量之间的运算,会将那个标量值传播到各个元素。
(2)索引与切片
Numpy数组的索引和切片是一个内容丰富的主题,因为根据不同需要可以选取不同的数据子集或单个元素。简单来说,它的操作与Python自身的列表list的操作基本相同。和索引最重要的区别在于,切片是原始数据的视图,这意味着数据不会被复制,视图上的任何修改都会直接作用在原来的数组上。所以借用C语言中的术语粗糙地来说,索引是“值传递”,切片是“引用传递”。
多维数组的索引和切片也可以依次类推,这里不再赘述。
(3)转置
转置是重塑的一种特殊方式,它返回的是源数据的视图(不会进行任何复制操作)。
在进行矩阵运算的时候,经常需要计算矩阵的内积XTX:
2.通用函数
通用函数是一种对ndarray中的数据执行元素级运算的函数。
常用的通用函数见下表:
3.统计与排序
可以通过数组上的一组数学函数,如求和sum、平均mean以及标准差std,对整个数组或某个轴向的数据进行统计计算。
也可以通过排序sort完成对数组的排序。
4.数据文件的输入输出
Numpy能够读写磁盘上的文本数据或二进制数据,通过np.load和np.save、np.loadtxt和np.savetxt即可完成这一任务。
5.线性代数
线性代数(如矩阵乘法、矩阵分解、行列式以及其他方阵数学等)是任何数组库的重要组成部分。因此,Numpy提供用于矩阵乘法的dot函数、QR分解的qr函数、计算行列式的det函数、计算逆的inv函数、奇异值分解的svd函数以及最小二乘解的lstsq函数。
6.随机数
numpy.random模块是对Python内置的random的一个补充,增加了一些用于高效生成多种概率分布的样本值函数。
领取专属 10元无门槛券
私享最新 技术干货