小白很白自学Numpy(3)

矩阵操作

1.创建主对角线都是3的5x5矩阵

a = np.diag([3,3,3,3,3])

2.交换第一列和第二列,那么如果逗号前后的交换,我们就是交换第一行和第二行。

a = a[:, [1,0,2,3,4]]

3.判断两个矩阵是否有元素不同

print((a == b).all())

4.计算两个矩阵元素不同的个数

len(np.argwhere(a != b))

5.找出两个矩阵中不同元素的位置

np.argwhere(a != b)

6.两个矩阵做矩阵乘法(运算规则是进行矩形运算规则)

np.dot(a,b)

7.那么对应元素相乘是

np.multiply(a,b)

8.进行行列式计算

np.linalg.det(b)

9.矩阵求逆

np.linalg.inv(result)

10.按列拼接矩阵

np.hstack((a,b))
new = np.pad(a,pad_width = 1,constant_values=1)

a是一个5x5,主对角线上都是3的矩阵
输出new此时的结果是
在这里插入图片描述
那么我们现在进行一点修改

new1 = np.pad(a,pad_width = 2,constant_values=1)

输出的结果就是在外面加了一圈
在这里插入图片描述

那么我们再次修改

new2 = np.pad(a,pad_width = 2,constant_values=5)

在这里插入图片描述
那么在外面添加的数也就成了5

12.在矩阵中查找大于1的元素的位置

np.argwhere(a > 1)

13.把矩阵a中大于2的数修改为10

a[a > 2] = 10

14.对矩阵a按列求和

np.sum(a, 0)

15.对矩阵a按行求和

np.sum(a, 1)

16.生成一个8行8列的二维数组,在1到100里随机取值

a = np.random.randint(1,100, [8,8])

17.寻求每一列的最大值,最小值amin,那么行就是axis=1

np.amax(a, axis=0)

18.计算矩阵中元素出现个数

np.unique(a,return_counts=True)

19.计算每行元素代码的排名

data.argsort()

相等会按0 1 2 3这样排下去

20.将a按行重复一次

np.repeat(a, 2, axis=0)

2的位置就是一共出现几次

21.去除a的重复行

np.unique(a,axis = 0)

22。从data的第一行中不放回抽3个元素

np.random.choice(a[0:1][0], 3, replace=False)

23.计算a第二行中不含第三行的元素的元素

b = a[1:2]
c = a[2:3]
index=np.isin(a,b)
array=a[~index]
array

24.判断a中是否有空行

(~a.any(axis=1)).any()

25.将a的每行升序排序

a.sort(axis = 1)

26.将数据格式改变成float

b= a.astype(float)

27.删除含有空值的行

a = a[~np.isnan(a).any(axis=1), :]

28.计算矩阵中与某个数最接近的元素

b=?#?是某个数
a.flat[np.abs(a - b).argmin()]

29.计算a每一行的元素减去每一行的平均值

a - a.mean(axis=1, keepdims=True)

30.将a归一化至区间[0,1]

b = np.max(a) - np.min(a)
(a - np.min(a)) / b

最后就是把a储存在本地

np.savetxt('test.txt',a)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值