一、Numpy

 

导入

数组的生成

一维和二维数组 np.array

指定范围内的数组 np.arange

全为0(零)的数组 np.zeros

全为1的数组 np.ones

单位矩阵(二维) np.eye

对角线的值全为1,其余的全为0(零)。

随机数、数组

随机数据生成主要用到的是Numpy中的random模块。

值在[0,1)之间均匀分布 np.random.rand()

np.random.random(size = (2,2)) 等价于 np.random.random(size = (2,2))

 

标准正态分布 np.random.randn()

以0为均值、以1为标准差的正态分布(mean=0, stdev=1),,记为N(0,1)

随机整数 np.random.randint()
参数
实例
随机抽取 np.random.choice()
参数
实例
打乱原数组顺序 np.random.shufflie()

根据数组a的第1轴(也就是最外层的维度)进行随排列,改变数组x

打乱数组顺序生成新的 np.random.permutation()

根据数组a的第1轴产生一个新的乱序数组,不改变数组x

 

均匀分布 np.random.uniform()
随机种子生成器 np.random.seed(s)

对于同一个s,生成的随机数相同

正态(高斯)分布 np.random.normal()

产生具有正态分布的数组,loc均值,scale标准差,size形状

标准正态分布 np.random.standard_normal()

 

 

基本属性

形状 shape

元素个数(大小) size

维数 ndim

索引切片 [:,:]

Numpy中数组的元素位置的索引是从0开始的。

一维数组

如果要从末尾开始取值,传入负数。例如-1表示末尾最后一个。

二维数组

行,列的位置索引都是从0开始

数值的类型 dtype

类型转换 astype()

 

 

数据预处理

缺失值 np.isnan()

分两步:第一步判断是否含有缺失值,第二步,缺失值的填充。

查找缺失值的方法是isnan()函数,在Numpy中缺失值用np.nan表示

重复值 unique()

变换形状 reshape()

转置 T

将数组的行转为列,列转为行。

降维 flatten( )

用于array(数组)对象
用于mat(矩阵)对象
该方法不能用于list对象,请使用for遍历

 

横向合并

横向合并就是将两个行数相等的数组在行方向上进行简单拼接。与DateFrame合并不一样,Numpy数组合并不需要公共列,只是将两个数组简单的拼接在一起,有三种方法:concatanate、hstck、column_stack

concatanate
hstck
column_stack

纵向合并

纵向合并与横向合并类似,也有三种方法:concatanate、vstack、row_stack

concatanate
vstack
row_stack

 

数组计算

简单算术

NumPy 算术函数包含简单的加减乘除: add()subtract()multiply()divide()

需要注意的是数组必须具有相同的形状或符合数组广播规则。

叉乘(外积)

1. 定义:

概括地说,两个向量的外积,又叫叉乘、叉积向量积,其运算结果是一个向量而不是一个标量。并且两个向量的外积与这两个向量组成的坐标平面垂直。

2. 几何意义:

(1)在三维几何中,向量a和向量b的外积结果是一个向量,有个更通俗易懂的叫法是法向量,该向量垂直于a和b向量构成的平面。

(2)在二维空间中,外积还有另外一个几何意义就是:|a×b|在数值上等于由向量a和向量b构成的平行四边形的面积。

例1:

例2:

线性计算

函数描述
dot两个数组的点积,即元素对应相乘。(2,3)X(3,2)=(2,2)
vdot两个向量的点积
inner两个数组的内积
matmul两个数组的矩阵积
determinant数组的行列式
solve求解线性矩阵方程
inv计算矩阵的乘法逆矩阵
点乘(内积) np.dot()
  1. 定义:

概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作。

  1. 几何意义:

    (1)表征或计算两个向量之间的夹角

    (2)b向量在a向量方向上的投影

    (3)公式 a•b = |a||b|cosθ

例1

 

例2

 

元素级函数

主要是针对数组中的每一个元素执行相同的操作。

统计类函数

条件函数 np.where()

参数:np.where(条件,真,假) ,类似Excel中的if函数

集合关系

主要有包含、交集、并集、差集四种。

 

 

二、Numpy其它