矩阵操作
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)