利用 Python 完成数据分析(2):Numpy的使用

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的一个补充,增加了一些用于高效生成多种概率分布的样本值函数。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180907G07PTR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券