zoukankan      html  css  js  c++  java
  • 第六节,Python的科学计算包——Numpy

    1、基本类型(array)

    import numpy as np
    a=[1,2,3,4]
    b=np.array(a)    #array([1,2,3.4])
    type(b)          #<type 'numpy.ndarray'>
    b.shape          #(4,)
    
    c=[[1,2],[3,4]]  #二维列表
    d=np.array(c)    #二位numpy数组
    d.shape          #(2,2)
    d.max(axis=0)   #找维度0,列的最大值,即最后一个维度上的最大值,array([3,4])
    d.max(axis=1)   #找维度1,行的最大值,即倒数第二个维度上的最大值,array([2,4])
    d.flatten()     #展开一个Numpy数组为1维数组,array([1,2,3,4])
    # 3*3的浮点型2维数组,并且初始化所有元素值为1
    e = np.ones((3,3),dtype=np.float)

    2、线性代数模块

    在深度学习相关的数据处理核运算中,线性代数模块是其中最常用的,结合Numpy提供的基本函数,可以对向量、矩阵或是多维张量进行一些基本的运算。

    import numpy as np
    b=np.array([
        [1,2,3],
        [4,5,6],
        [7,8,9]
    ])
    c=np.array([1,0,1])
    np.dot(b,c)            #矩阵相乘,注意维度,array([4,10,16])
    d=np.array([
        [2,1],
        [1,2]
    ])
    '''
    求正定矩阵的本征值和本征向量
    本征值为u,array([3.,1.])
    本征向量构成的二维array为v
    eig()是一般情况的本征值分解,对于更常见的对称实数矩阵
    eigh()更快更稳定,不过输出的值的顺序和eig()是相反的
    '''
    u,v=np.linalg.eig(d)

    3、随机模块(random)

    import numpy as np
    import numpy.random as random
    # 设置随机数种子
    random.seed(42)
    #产生一个1*3,【0,1】之间的浮点型随机数
    random.rand(1,3)
    #产生10个【1,6】之间的整型随机数
    random.randint(1,6,10)
    #产生2*5的标准正态分布样本
    random.normal(size=(5,2))
    # 对a进行in-place乱序,在训练数据时会用到。
    random.shuffle(a)
  • 相关阅读:
    WSDL格式
    eclipse修改文件编码
    eclipse代码格式化设置
    批量修改Java类文件中引入的package包路径
    Oracle 创建用户
    电脑端口介绍
    Python Web 性能和压力测试 multi-mechanize
    C++使用ocilib访问oracle数据库
    IPython使用学习笔记
    .NET Core与.NET Framework、Mono之间的关系
  • 原文地址:https://www.cnblogs.com/wyx501/p/10601405.html
Copyright © 2011-2022 走看看