zoukankan      html  css  js  c++  java
  • Numpy学习三:数组运算

    1、转置

    #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状

    创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组
    arr = np.arange(15).reshape((3,5))
    print(arr)

    结果:[[ 0  1  2  3  4]
                [ 5  6  7  8  9]
                [10 11 12 13 14]]

    #转置,数组转置可以使用transpose方法或者T属性,转置返回的是源数组的视图,不会进行任何复制操作

    #将3行5列的二维数组arr转置为5行3列的二维数组
    arr.transpose()

    结果:array([[ 0,  5, 10],
                         [ 1,  6, 11],
                         [ 2,  7, 12],
                         [ 3,  8, 13],
                         [ 4,  9, 14]])

    #使用T属性实现转置
    arr.T

    结果:array([[ 0,  5, 10],
                         [ 1,  6, 11],
                         [ 2,  7, 12],
                         [ 3,  8, 13],
                         [ 4,  9, 14]])

    2、算数运算

    #注意:两个数组做算数法要求两个数组的结构要相同

    #数组加法,两个数组对应位置的元素相加

    arr1 = np.array([[1,2,3],[4,5,6]])
    arr2 = np.ones((2,3)) #2行3列的全1数组
    arr1 + arr2 #相当于给数组arr1中的每个元素加1

    结果:array([[ 2.,  3.,  4.],
                         [ 5.,  6.,  7.]])

    #数组减法,两个数组对应位置的元素相减
    arr1 - arr2

    结果:array([[ 0.,  1.,  2.],
                         [ 3.,  4.,  5.]])

    #数组乘法,两个数组对应位置的元素相乘
    arr3 = np.array([[2,2,2],[2,2,2]])
    arr1 * arr3

    结果:array([[ 2,  4,  6],
                         [ 8, 10, 12]])

    #使用tile函数构造数组,上一个arr3构造具有相同元素的数组非常麻烦,使用tile函数非常简洁
    #第一个参数表示需要复制的数组,第二个参数是对应的轴方向上复制的次数

    #第2个参数(2,3)表示在第0轴方向复制2次,第1轴方向复制3次,这样就构成了一个2行3列的二维数组

    arr4 = np.tile([2],(2,3))
    print(arr4)

    结果:[[2 2 2]
               [2 2 2]]

    #数组除法,两个数组对应位置的元素相除

    arr1 / arr4

    结果:array([[ 0.5,  1. ,  1.5],
                         [ 2. ,  2.5,  3. ]])

    3、数组与标量算术运算

    #对数组中每个元素求平方

    arr1 ** 2

    结果:array([[ 1,  4,  9],
                         [16, 25, 36]], dtype=int32)

    #数组arr1中的每个元素加10

    arr1 + 10

    结果:array([[11, 12, 13],
                         [14, 15, 16]])

  • 相关阅读:
    🍖权限管理之高级权限 ACL
    C#中的interface没那么简单【转】
    URL与物理文件的分离【转】
    共享工作簿
    关于runas explorer.exe 的问题
    但愿汶川早日恢复平静但愿灾区人民早日重建家园!
    正确删除系统隐藏的设备
    vim配置文件.vimrc
    outlook中的邮件归档
    Windows 系统环境变量
  • 原文地址:https://www.cnblogs.com/sl0309/p/10354349.html
Copyright © 2011-2022 走看看