当前位置 博文首页 > xpj8888的博客:python模块教程(一)Numpy介绍:矩阵运算、函数

    xpj8888的博客:python模块教程(一)Numpy介绍:矩阵运算、函数

    作者:[db:作者] 时间:2021-09-18 18:48

    第一章、简介

    ? ? ? ? Numpy是python语言中的一个数学库或称模块,经常结合tensorflow等模块使用,广泛的应用在AI领域。Numpy主要功能包括:

    • 矩阵运算。
    • 函数运算
    • 线性代数运算
    • 信号处理运算
    • 等等

    第二章、numpy模块的矩阵运算

    2.1、创建矩阵

    print("-----------------创建1行5列的矩阵------------------")
    array1x5 = np.array([1, 3, 2, 10, 200])  # 创建1行5列的矩阵
    print(array1x5)  # 输出矩阵array1x5
    print(array1x5[1])  # 输出矩阵array1x5的第二个元素
    
    print("-----------------创建3行4列的矩阵-----------------")
    array3x4 = np.array([[11, 22, 33, 44], [4, 5, 6, 7], [111, 222, 333, 444]])  # 创建1行5列的矩阵
    print(array3x4)  # 输出矩阵array3x4
    print(array3x4[0])  # 输出矩阵array3x4的第一个数据

    输出结果:

    -----------------创建1行5列的矩阵------------------
    [  1   3   2  10 200]
    3
    -----------------创建3行4列的矩阵-----------------
    [[ 11  22  33  44]
     [  4   5   6   7]
     [111 222 333 444]]
    [11 22 33 44]

    2.1、矩阵元素的获取

    2.2、矩阵元素的获取

    print("-----------------输出矩阵的某个元素------------------")
    array1x5_element3 = array1x5[3]
    print(array1x5_element3)
    print("-----------------输出矩阵的某组元素------------------")
    array3x4_array = array3x4[1]
    print(array3x4_array)

    输出结果:

    -----------------输出矩阵的某个元素------------------
    10
    -----------------输出矩阵的某组元素------------------
    [4 5 6 7]

    2.3、矩阵元素的按条件截取

    rint("-----------------输出矩阵大于3的元素------------------")
    array1x5_elementMoreThan3 = array1x5[array1x5 > 3]
    print(array1x5_elementMoreThan3)

    输出结果:

    -----------------输出矩阵大于3的元素------------------
    [ 10 200]

    2.4、矩阵合并

    array3x4_copy = np.array([[11, 22, 33, 44], [4, 5, 6, 7], [111, 222, 333, 444]])
    print("-----------------输出两个矩阵按行合并后的元素: 即将第二个矩阵的每行,按行拼接在第一个矩阵的每行后面------------------")
    array3x4_combine_row = np.hstack([array3x4_copy, array3x4])
    print(array3x4_combine_row)
    print("-----------------输出两个矩阵按行合并后的元素:按列拼接------------------")
    array3x4_combine_column = np.vstack([array3x4_copy, array3x4])
    print(array3x4_combine_column)

    输出结果:

    -----------------输出两个矩阵按行合并后的元素: 即将第二个矩阵的每行,按行拼接在第一个矩阵的每行后面------------------
    [[ 11  22  33  44  11  22  33  44]
     [  4   5   6   7   4   5   6   7]
     [111 222 333 444 111 222 333 444]]
    -----------------输出两个矩阵按行合并后的元素:按列拼接------------------
    [[ 11  22  33  44]
     [  4   5   6   7]
     [111 222 333 444]
     [ 11  22  33  44]
     [  4   5   6   7]
     [111 222 333 444]]

    2.5、特殊矩阵

    print("-----------------输出 float类型的1x10维度全零矩阵-----------------")
    zerosArray1x10 = np.zeros(10, float)
    print(zerosArray1x10)
    print("-----------------输出 int类型的3x10维度全零矩阵-----------------")
    zerosArray3x10 = np.zeros((3, 10), int)
    print(zerosArray3x10)
    print("-----------------输出 int类型的3x10维度全1矩阵-----------------")
    onesArray3x10 = np.ones((3, 10), int)
    print(onesArray3x10)

    输出结果:

    -----------------输出 float类型的1x10维度全零矩阵-----------------
    [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
    -----------------输出 int类型的3x10维度全零矩阵-----------------
    [[0 0 0 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0]]
    [[1 1 1 1 1 1 1 1 1 1]
     [1 1 1 1 1 1 1 1 1 1]
     [1 1 1 1 1 1 1 1 1 1]]

    第三章、numpy模块的函数运算

    3.1、三角函数

    print("-----------------输出角度的正弦弧度值----------------")
    angle30 = 30
    angleArray1x3 = np.array([0, 30, 60, 90])
    print(np.sin(angle30*np.pi/180))
    print(np.sin(angleArray1x3*np.pi/180))

    输出结果:

    -----------------输出角度的正弦弧度值----------------
    0.49999999999999994
    [0.        0.5       0.8660254 1.       ]

    第四章、numpy模块的线性代数运算

    后续补上

    第五章、numpy模块的信号处理运算

    后续补上

    cs
    下一篇:没有了