zoukankan      html  css  js  c++  java
  • SciPy 基础功能

    章节


    默认情况下,所有NumPy函数都可以在SciPy(命名空间)中使用。当导入SciPy时,不需要显式地导入NumPy函数。NumPy的主要对象是n次多维数组ndarray,SciPy构建在ndarray数组之上,ndarray是存储单一数据类型的多维数组。在NumPy中,维度称为轴,坐标轴的数量称为秩。

    通常线性代数主要处理矩阵运算,现在,让我们复习一下NumPy中向量/数组和矩阵的基本功能。

    NumPy ndarray数组

    ndarray是NumPy中最重要的类。

    标准的Python列表(list)中,元素是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算比较浪费资源。

    与此不同,ndarray中元素直接存储为原始数据,元素的类型由ndarray对象中的属性dtype描述。

    当ndarray数组中的元素,通过索引或切片返回时,会根据dtype,从原始数据转换成Python对象,以便外部使用。

    示例

    将Python类数组对象转换为NumPy数组

    import numpy as np
    list = [1,2,3,4]
    arr = np.array(list)
    print (arr)
    print (type(arr))
    

    输出

    [1 2 3 4]
    <class 'numpy.ndarray'>
    

    创建NumPy数组

    NumPy中,可以使用下面介绍的内置函数创建ndarrray数组。

    zeros()

    zeros()函数创建数组,并且把数组元素的值初始化为0,可以指定数组形状和数据类型。

    示例

    import numpy as np
    print (np.zeros((2, 3)))
    

    输出

    [[0. 0. 0.]
     [0. 0. 0.]]
    

    ones()

    ones()函数创建数组,并且把数组元素的值初始化为1,可以指定数组形状和数据类型。
    示例

    import numpy as np
    print (np.ones((2, 3)))
    

    输出

    [[1. 1. 1.]
     [1. 1. 1.]]
    

    arange()

    arange()函数创建递增数组。

    示例

    import numpy as np
    print (np.arange(7))
    

    输出

    [0 1 2 3 4 5 6]
    

    数组的数据类型

    数据类型对象dtype,是描述数组中元素数据类型的对象。

    示例

    import numpy as np
    arr = np.arange(2, 10, dtype = np.float)
    print (arr)
    print ("数组数据类型 :", arr.dtype)
    

    输出

    [ 2. 3. 4. 5. 6. 7. 8. 9.]
    数组数据类型 : float64
    

    linspace()

    linspace()函数创建一个数组,该数组包含指定区间内均匀分布的值。

    示例

    import numpy as np
    print (np.linspace(1., 4., 6))
    

    输出

    [1.  1.6 2.2 2.8 3.4 4. ]
    

    矩阵

    矩阵是一种特殊的二维数组,它有一些特殊的运算符,如*(矩阵乘法)和**(矩阵幂)。

    示例

    import numpy as np
    print (np.matrix('1 2; 3 4'))
    

    输出

    [[1 2]
     [3 4]]
    

    矩阵转置

    将矩阵的行列互换得到的新矩阵,称为转置矩阵。

    示例

    import numpy as np
    mat = np.matrix('1 2; 3 4')
    mat.T
    

    输出

    matrix([[1, 3],
            [2, 4]])
    

    矩阵的共轭转置

    共轭就是矩阵每个元素都取共轭(复数的实部不变,虚部取负)。

    共轭转置就是先取共轭,再取转置。

    示例

    import numpy as np
    mat = np.matrix('1 2; 3 4')
    print (mat.H)
    

    输出

    matrix([[1, 3],
            [2, 4]])
    

    单位矩阵

    单位矩阵在矩阵的乘法中,起着特殊的作用,如同数的乘法中的1。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1,除此以外全都为0。

    示例

    创建单位矩阵:

    import numpy.matlib 
    import numpy as np 
    print (np.matlib.identity(5))
    

    输出

    [[1. 0. 0. 0. 0.]
     [0. 1. 0. 0. 0.]
     [0. 0. 1. 0. 0.]
     [0. 0. 0. 1. 0.]
     [0. 0. 0. 0. 1.]]
    

    逆矩阵

    逆矩阵的数学定义:存在矩阵M以及矩阵N,假如M*N = 矩阵I(Identify Matrix单位矩阵),那么矩阵M和矩阵N互为逆矩阵。

    示例

    求一个矩阵的逆矩阵:

    import numpy as np
    mat = np.matrix('1 2; 3 4')
    mat2 = mat.I
    print(mat2)
    

    输出

    [[-2.   1. ]
     [ 1.5 -0.5]]
    
  • 相关阅读:
    网页效果图设计之色彩索引
    支持树型的GridView控件
    (转)CSS布局参考 IE的If条件注释使用备忘
    firefox与IE对javascript和CSS的区别
    转 CSS半透明滤镜在FIREFOX和IE下面的能够通用的写法
    無法為 SSL/TLS 安全通道建立信任關係,忽略憑証檢查的方式
    临时
    EventUtil
    js测试对象包含特性
    重学概率论的一点点理解(持续更新)
  • 原文地址:https://www.cnblogs.com/jinbuqi/p/11797444.html
Copyright © 2011-2022 走看看