zoukankan      html  css  js  c++  java
  • 数据可视化基础专题(二十五):numpy80题(四)第二期|基本矩阵操作与运算

    第二期|基本矩阵操作与运算

    import numpy as np

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

    result = np.diag([5,5,5,5,5])
    result

    22.交换第一列与第二列

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

    23.交换第一行与第二行

    b = result[[0,1,2,4,3], :]

    24.判断两个矩阵是否有任何元素不同(使用22,23两题得到的矩阵)

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

    25.计算两个矩阵不同元素的个数(使用22,23两题得到的矩阵)

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

    26.找到两个矩阵不同元素的位置(使用22,23两题得到的矩阵)

    np.argwhere(a != b)

    27.矩阵乘法(使用22,23两题得到的矩阵)

    np.dot(a,b)

    28.矩阵对应元素相乘(使用22,23两题得到的矩阵)

    print(np.multiply(a,b))
    print('========方法2========')
    print(a * b) #方法2

    29.计算行列式(使用21题生成的矩阵)

    np.linalg.det(result)

    30.矩阵求逆(使用21题生成的矩阵)

    np.linalg.inv(result)

    31.将22与23题生成的np.array对象修改为np.matrix对象

    a = np.matrix(a)
    b = np.matrix(b)

    32.计算上一题生成的两个np.matrix格式矩阵的对应元素乘积(对比异同)

    np.multiply(a,b)

    33.对31题生成的两个np.matrix格式矩阵做矩阵乘法(对比异同)

    a * b

    34.将两个矩阵按照行拼接

    np.hstack((a,b))

    35.将两个矩阵按照列拼接

    np.vstack((a,b))

    36.思考下面代码运行后new的结果

    new = np.pad(result,pad_width = 1,constant_values=1)

    37.找到new中大于1的元素的位置

    np.argwhere(new > 1)

    38.将new中大于1的元素修改为9

    new[new > 1] = 8
    new

    39.对new按列求和

    np.sum(new, 0)

    40.对new按行求和

    np.sum(new, 1)
  • 相关阅读:
    组合数学+结论——cf1359E
    【模拟】分类讨论大模拟+数论——cf1358F
    【思维】前缀和——cf1358E
    Android基础—— 自定义RecyclerView内部控件的监听器
    【思维】模拟+暴力——icpc nwrrc 2019 K
    分治模板
    树上问题&图论模板整理
    数据结构模板整理
    一些计数题
    Codeforces Round #567 (Div. 2)
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/14729015.html
Copyright © 2011-2022 走看看