• Numpy包简单介绍


    详细介绍可以看Numpy帮助,也有很多资料,此文仅是一个简述性质的集成文章

    1.简介

    Numpy是Python的一个扩展包,语法和Matlab有很多相似之处。它支持高维数组和矩阵运算,也提供了许多数组和矩阵运算的函数。另外,它在数组和矩阵运算方面速度很快,效率很高。对数组的运算都可以算在每个元素上。如,A*2(A为3*3的矩阵),结果是A中的9个元素都乘2

    1.1 索引与切片

    数组索引一般用 [] 来实现,一维arratName[行],二维aName[行,列],三维[页,行,列],可以用冒号:代替某一维度,表示取该维度所有元素。如a[[1,2],[3,4]],a[:,1]为[2,4]

    布尔型索引  布尔型数组的长度必须和被索引的轴长度一致

    花式索引  利用整数数组进行索引

    print a[[4, 3, 0, 6]] # 打印a[4]、a[3]、a[0]和a[6]。

    切片如下: a为3*3*3矩阵  b = a[1, :,:]

    1.2 复制与镜像

    用.copy()方法复制数组,= 直接赋值。赋值只能产生镜像,仅是给变量增加一个名称;复制可以生成另一个变量,两个变量相互独立。

    1.3 数组转置和轴对换

    转置为 arrayName.T  

    矩阵相乘 np.dot(array1,array2)

    高维轴对换 .transpose  或  .swapaxes

    1.4 按条件逻辑逻辑运算

    如:a=np.arange(9).reshap(3,3)     print(a>5), print(a[a>5])。第一个输出是True和False的矩阵,第二个输出6,7,8,9

    因此,可以按条件选择数组元素

    np.where的使用   语法:np.where(条件,表达式1,表达式2)条件为真执行表达式1,条件为假执行表达式2.

    1.5 排序

    .sort()   0为按列排序,1为按行排序

    2.常用函数介绍

    构造函数

    说明

    array

    将输入数据(列表、元组、数组等)转换为ndarray

    arange

    类似于range,返回一个ndarray

    ones

    根据指定大小和dtype创建一个全1数组

    zeros

    根据指定大小和dtype创建一个全0数组

    empty

    创建数组,只分配内存空间不填充任何值

    eye,  identity

    创建单位矩阵

    运算函数(一元)

    说明

    abs,fabs

    计算绝对值,计算复数的模。对于非复数,用fabs更快

    sqrt

    开方

    sqare

    平方  相当于a**2

    exp

    计算各元素的e^x

    log, log10, log2, log(1+x)

    自然对数,底数为10,底数为2和log(1+x)

    ceil

    向上取整

    floor

    向下取整

    sign

    计算各元素的正负号

    rint

    四舍五入到整数,保留dtype

    modf

    将整数部分和小数部分以两个独立数组返回

    cos,sin,tan

    三角函数

    arccos,arcsin,arctan

    反三角

    运算函数(二元)

    说明

    add

    将数组中对应的元素相加

    subtract

    从第一个数组中减去第二个数组中的元素

    multiply

    元素相乘

    Divide, floor_divide

    相除,或向下取整除法

    power

    Power(A,B) 计算A^B

    Max  fmax

    计算最大值,fmax忽略NaN

    Min   fmin

    计算最小值,fmin忽略NaN

    mod

    求模

    copysign

    将第二数组中的符号复制给第一个数组元素

    greater,greater_equal

    less,less_equal,equal,

    not_equal

    执行元素级的比较,最终产生布尔型数组

                                       

    Logical_and, logical_or

    Logical_xor

    执行元素级的真值逻辑运算,产生布尔型数组

    数学和统计方法

    说明

    sum

    对数组中全部或某轴向的元素求和,0为按列,1为按行

    mean

    求平均

    std, var

    标准差和方差

    min, max

    最小值和最大值

    argmin,argmax

    最大值和最小值的索引

    cumsum

    所有元素累计和

    cumprod

    所有元素累计积

    去重、集合运算函数

    说明

    unique(x)

    计算X中的唯一元素,并返回有序结果

    intersect1d(x,y)

    计算x和y中的公共元素,并返回有序结果

    union1d(x,y)

    计算x和y的并集,返回有序结果

    in1d(x,y)

    得到一个描述x的元素是否包含于y的布尔型数组

    setdiff1d(x,y)

    集合的差,即元素在X中且不在Y中

    setxor1d(x,y)

    集合的异或,即存在一个数组中,另外一个数组中没有

    常用的np.linalg函数

    说明

    diag

    以一位数组的形式返回方阵的对角线

    dot

    矩阵乘法

    trace

    计算对角线元素的和

    det

    计算矩阵行列式

    eig

    计算方阵的特征值和特征向量

    inv

    计算方阵的逆

    pinv

    计算矩阵的Moore-Penrose伪逆

    qr

    计算QR分解

    svd

    计算奇异值分解

    solve

    解线性方程Ax=b,A为一个方阵

    lstsq

    计算Ax=b的最小二乘解

    随机数生成 函数

    说明

    seed

    确定随机数生成器的种子

    permutation

    返回一个序列的随机排列

    shuffle

    对一个序列随机乱序

    rand

    产生均匀分布的样本值

    randint

    从给定的上下限范围内随机选取整数

    randn

    产生正态分布(平均值为0,标准差为1)

    binomial

    产生二项分布的样本值

    normal

    产生正态(高斯)分布的样本值

    beta

    产生Beta分布的样本值

    chisquare

    产生卡方分布的样本值

    gamma

    产生Gramma分布的样本值

    uniform

    产生在[0,1]中均匀分布的样本值

  • 相关阅读:
    Android:TabWidget
    Android之GridView
    Asp.Net页面生命周期
    Android笔记
    Adnroid单元测试
    GridView,ListView实例
    CSS
    C# ref,out
    有些经验是花钱都买不到的!
    数据库常用的sql语句
  • 原文地址:https://www.cnblogs.com/laumians-notes/p/8557178.html
Copyright © 2020-2023  润新知