🐍Python数据分析(2) - NumPy矩阵与通用函数
00 分钟
2023-4-11
2023-11-23
type
status
date
slug
summary
tags
category
icon
password
Email
文章首发于:My Blog 欢迎大佬们前来逛逛

1. NumPy矩阵

1.1 mat函数

data:表示输入的数组或者字符串,使用‘,’分割列,使用‘;’分割行
创建两个普通的矩阵:
需要注意:mat创建的矩阵是不会产生副本的,即共享内存

1.2 matrix函数

matrix也是创建矩阵的:
data:数组或者字符串,与mat一样
copy:表示创建的矩阵与原数组data是不是拷贝的如果是拷贝的,则不共享内存;否则共享内存
注意到:mat默认共享内存,matrix可以选择拷贝,他们的不同仅此而已

1.3 bmat函数

bmat可以产生一个分块矩阵
obj:数组或者字符串
ldict,gdict:字典

1.4 矩阵运算

我们所熟知的运算,NumPy矩阵运算都可以实现:
矩阵的特有属性:
  • T:转置
  • H:共轭转置
  • I:逆矩阵
  • A:转换为二维数组

2. NumPy通用函数

2.1 ufunc运算函数

注意:ufunc的运算操作是对于数组的运算,而不是矩阵,矩阵的运算是 NumPy 实现的。
ufunc的运算不是矩阵的运算,因此对于不符合矩阵乘法条件的两个数组相乘是合法的。
np.all:对于数组的元素需要全部满足
np.any:对于数组的元素只需要存在即可
创建数组:

2.2 ufunc广播机制

对于数组的运算,我们会对数组的shape有要求;但是如果shape不一样,我们仍然可以对他们进行运算操作,只需要对他们使用广播机制即可。
广播机制必须满足的前提条件:
  1. 两个数组必须具有相同的维数,每个维的长度要么是相同的,要么是1
  1. 维数少的数组需要在其形状上加上n个长度为1的维数,以便使得满足条件1.
例子1:
a1数组是 2行4列的,a2数组是 1行4列的。
我们可以发现,a2数组的行数少 1,因此需要在a2的shape上对其行数加1,使得a2数组变为(2,4),那么他们的形状相同模拟为使得在B的末尾新添加一行与第一行相同的元素,因此可以相加,总结为:
A.shape=(2,4) ;B.shape=(1,4) ----> B.shape=(2,4)
然后再执行A与B相加。
例子2:
此时我们的a1的shape是 4行3列,a2的shape是 4行1列,因此需要在a2的shape中对a2的列数加1,直到他们的shape相同,使得a2也变为 4行3列的,模拟在a2的后面新添加两列与第一列相同的元素即可
A,shape=(4,3) B.shape=(4,1) ----> B.shape=(4,3)
然后再执行相加。

2.3 统计分析函数

2.3.1 排序函数

sort函数直接对对象数组进行升序排序:
使用 np.sort() 对数组排序后生成一份拷贝
argsort函数会产生索引数组,其中索引表示的是按照升序排序后,对应位置的元素在原数组中的对应的索引位置
例如新生成的索引数组的 :
  • [0] = 8,表示这个排序后的值[0]位置的值在原数组中是第8个(下标0开始),为10
  • [1] = 1,表示为第1个,为 11
  • [2] = 2,表示为第2个,为 11
....
lexsort表示对多个键的数组进行间接排序,也是返回一个索引数组。

2.3.2 去重与重复函数

unique函数的作用是去掉重复的元素
unique可以指定参数
  • return_index:是否返回唯一元素的索引
  • return_inverse:是否返回用索引重建的数组
  • return_counts:是否返回唯一数组中元素出现的次数

tile用于重复数组的值
A:表示需要重复的数组
reps:重复的次数
如下,我们把5*2的数组重复了三次,让他变成了 5 * 6的
repeat函数也是重复数组的值:
axis:为0则表示垂直(行数增加),为1表示水平(列数增加)

2.3.3 常用统计函数

基本统计函数:
  • min ,max amax, amin:表示求得最大值和最小值
  • ptp:求最值差(最大值与最小值之差)
  • percentile:求分位数
表示数据波动函数:
  • median:求中位数
  • mean:求算数平均值
  • average:求加权平均值
  • var:方差
  • std:标准方差
数据分布密度函数:
  • histogram
  • bincout
数据相关性函数:判断两个数组是否具有一定的一致性
  • cov:协方差
  • corrcoef:协方差系数
求值函数:
  • sum:求数组所有元素之和
  • cumsum:求数组到某位置的累加和
  • prod:所有元素之积
  • cumprod:数组到某位置的累乘值

评论
  • Twikoo
  • Valine