zoukankan      html  css  js  c++  java
  • Numpy常用操作

          numpy是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外,也针对数组运算提供大量的数学函数库。

    numpy常用的操作:

          ndarray.ndim:秩,即轴的数量或维度的数量

          ndarray.size:数组元素的总个数

          ndarray.dtype:ndarray对象的元素类型

          ndarray.itemsize:ndarray对象中每个元素的大小,以字节为单位

          ndarray.random:产生随机数

    import numpy as np
    a = np.random.rand(3,3) #随机生成一个3行3列的矩阵
    print(a.ndim) #输出矩阵的维度,结果为2
    print(a.dtype) #输出矩阵中元素的类型,结果为float64
    print(a.size) #输出矩阵中元素个数,结果为9

          shape:查看是一个几行几列的数组

          reshape:对数组形状进行改变

    import numpy as np
    a = np.array([[1,2,3],[4,5,6]]) #创建一个两行三列的矩阵
    np.shape(a) #查看矩阵a的形状
    np.reshape(a,[3,2]) #将矩阵a改为三行两列
    b = np.arange(12).reshape(3,4)

          创建数组的时候可以指定元素类型

    a = np.array([1,2,3],dtype=np.int)

          zeros创建全0的矩阵,ones创建全1的矩阵,eye创建单位矩阵

    import numpy as np
    a = np.zeros([3,3])
    b = np.ones([3,3],dtype=int)
    c = np.eye(3,3)

          linspace:在指定间隔内返回均匀的数字(即返回等差数组)

    import numpy as np
    np.linspace(1,10,10) #在1-10之间打印10个均匀的数
    np.linspace(1,10,10,endpoint=False,retstep=True) #在1-10之间打印10个均匀的数,不包括10,并且打印步长

          A*B:两个矩阵对应位置相乘,dot才是矩阵的乘法

    import numpy as np
    A = np.ones([3,3])
    B = np.eye(3,3)
    a = A*B
    b = np.dot(A,B)

          参数axis=1:对行进行操作,axis=0:对列进行操作

    import numpy as np
    a = np.arange(6).reshape(3,2)
    b = np.sum(a,axis=0) #对a矩阵的列求和
    c = np.sum(a,axis=1) #对a矩阵的行求和

          argmin:求最小值的索引,argmax:求最大值的索引,mean(average):求矩阵的平均值

    import numpy as np
    a = np.arange(2,14).reshape(3,4)
    print(np.argmin(a))
    print(np.argmax(a))
    print(np.mean(a))
    print(np.average(a))

          矩阵的合并:hstack(左右合并),vstack(上下合并)

    import numpy as np
    a = np.array([1,2,3])
    b = np.array([4,5,6])
    c = np.vstack((a,b))
    d = np.hstack((a,b))

           矩阵的拆分:vsplit(横向拆分),hsplit(纵向拆分)

    import numpy as np
    a = np.arange(12).reshape(3,4)
    b = np.vsplit(a,3) #将a矩阵按行拆分成3行
    c = np.hsplit(a,2) #将a矩阵按列拆分成2列

          numpy也可以采用索引取数据

    import numpy as np
    a = np.arange(3,15).reshape(3,4)
    print(a[2]) #取出索引为2的行的全部元素,即取第三行的全部元素
    print(a[1,1]) #取行、列索引都为1的元素,即二行二列的元素。也可以写成:print(a[1][1])

          矩阵的转置

    import numpy as np
    a = np.array([[1,2,3],[4,5,6]])
    b = np.transpose(a) #也可以写成:c = a.T
  • 相关阅读:
    使用Docker-compose部署MySQL测试环境
    使用MySQL SQL线程回放Binlog实现恢复
    MySQL 插件之 连接控制插件(Connection-Control)
    sysbench工具使用
    故障分析--主从复制故障1
    MySQL性能指标计算方式
    AJAX的 同步异步;EZView.js 图片预览和pdf预览
    Caused by: java.lang.ClassNotFoundException: org.springframework.context.App
    解决Myeclipse或Eclipse出现JPA project Change Event Handler问题的解决办法
    java中转换为string的方法;eques和==区别
  • 原文地址:https://www.cnblogs.com/chenjin2018/p/13376383.html
Copyright © 2011-2022 走看看