机器学习基础(3)-Numpy矩阵操作

本文深入探讨NumPy库中数组的基础操作、合并与分割、运算、聚合操作及索引应用,涵盖基本属性、数据访问、重塑、通用函数、矩阵运算等关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.Numpy.array的基本操作

1.numpy.array 的基本属性

2.numpy.array 的数据访问

3.reshape

二.合并与分割

1.合并操作

2.分割操作

三.Numpy.array运算

1.Universal Functions

2.矩阵和矩阵运算

3.向量和矩阵运算

四.聚合操作

五.Numpy 中arg运算

1索引

2.排序和索引的应用

3.使用索引


一.Numpy.array的基本操作

1.numpy.array 的基本属性

2.numpy.array 的数据访问

x = np.arange(10)
X = np.arange(15).reshape((3, 5))
x
x[0]
x[-1]
X[0, 0]#0,0点的值
X[0, -1]#0行倒数第一列
x[0:5]#0~4不包含5
x[5:]#5到结尾
x[::2]#切片,从头到尾,步长2
x[::-1]#倒数
X[:2, :3]#前两行前三列,多维必须,
X[:2, ::2]#前两行,每一行步数2
X[::-1, ::-1]#反转
X[0,:]#取第一行
X[:, 0]#取第一列

3.reshape

二.合并与分割

1.合并操作

concatenate只处理维度一样的

一维拼接
x = np.array([1, 2, 3])
y = np.array([3, 2, 1])
z = np.array([666, 666, 666])
np.concatenate([x, y, z])
二维拼接
A = np.array([[1, 2, 3],
              [4, 5, 6]])
np.concatenate([A, A])

vstack即使维度不同,垂直方向可拼接

np.hstack水平方向堆叠

2.分割操作

一维
x1, x2, x3 = np.split(x, [3, 7])#以3,7作为分割点,分了3部分
x1, x2 = np.split(x, [5])#以5作为分割点,分了两部分
二维
A1, A2 = np.split(A, [2], axis=1)#按列分割

vsplit,垂直方向;分为上下

hsplit,水平方向;分为左右部分(以2作为分割点)

分割特征矩阵和标签
X, y = np.hsplit(data, [-1])
把标签变成行的形式
y[:,0]

三.Numpy.array运算

乘法:A = 2 * L

1.Universal Functions

X + 1#所有元素加
X - 1#所有元素减
X / 1#所有元素除
X // 1#除整数
X ** 1#乘方
X % 1#取余
1/X#倒数
np.abs(X)
np.sin(X)
np.cos(X)
np.tan(X)
np.arctan(X)
np.exp(X)
np.power(3, X)#3的X次方
np.log(X)#e为底
np.log2(X)
np.log10(X)

2.矩阵和矩阵运算

3.向量和矩阵运算

加法

乘法、.dot()矩阵乘法

矩阵的逆、矩阵的伪逆

pinvX = np.linalg.pinv(X)

四.聚合操作

一维向量
np.sum(L)#求和
np.min(big_array)
big_array.max()

二维:axis=0,沿着行(每一列0,4,8,12)

其他聚合

np.prod(X)#所有元素乘积
np.mean(X)#均值
np.median(X)#中位数
np.var(big_array)#方差
np.std(big_array)#标准差

百分位点

五.Numpy 中arg运算

1索引

np.argmin(x)#返回最小值的索引

np.argmax(x)#最大值的索引

2.排序和索引的应用

一维

np.random.shuffle(x)可以对x进行洗牌操作,打乱x内元素的顺序;

np.sort(x)对x进行排序操作, 这个函数会返回一个排好序的数组,而没有改变原始x数组的顺序; 而x.sort()会对原始x进行修改:

二维,(axis=0,沿着行,即每一列)

np.sort(x)默认axis = 1,(即沿着列排序,即把每一行都排好序)

3.使用索引

np.argsort(x)对x的索引进行排序

一维

二维

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值