• 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]])

  • 相关阅读:
    Dev:LookUpEdit的用法
    Excel:写入Excel单纯写入
    浅拷贝与深拷贝
    自行车的种类
    简单的话
    Excel:导入导出原文02
    VS2010中出现无法嵌入互操作类型
    U盘有时候不显示(win7 64位)
    Knockout学习之Single Page Application
    CSS点滴整理
  • 原文地址:https://www.cnblogs.com/sl0309/p/10354349.html
Copyright © 2020-2023  润新知