zoukankan      html  css  js  c++  java
  • 数据分析与展示--numpy函数

    random:

    numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组,均匀分布

    #numpy.random.rand(d0, d1, ..., dn)
    import numpy as np
    #无参
    np.random.rand()#生成生成[0,1)之间随机浮点数
    type(np.random.rand())#float
    #d0,d1....表示传入的数组形状
    #一个参数
    np.random.rand(1)#array([ 0.44280931])
    type(np.random.rand(1))#numpy.ndarray
    np.random.rand(5)#生成一个形状为5的一维数组
    #两个参数
    np.random.rand(2,3)#生成2x3的二维数组
    #np.random.rand((2,3))#报错,参数必须是整数,不能是元组

    numpy.random.randn(d0, d1, ..., dn):生成一个浮点数或N维浮点数组,正态分布

    #numpy.random.randn(d0, d1, ..., dn)
    import numpy as np
    #无参
    np.random.randn()#1.4872544578730051,不一定是[0,1)之间的随机数
    #一个参数
    np.random.randn(1)
    np.random.randn(5)#生成形状为5的一维数组
    #两个参数
    np.random.randn(2,3)#生成2x3数组
    #np.random.randn((2,3))#报错,参数必须是整数

    numpy.random.standard_normal(size=None):生产一个浮点数或N维浮点数组,标准正态分布

    import numpy as np
    #numpy.random.standard_normal(size=None)
    #size为整数
    np.random.standard_normal(2)#array([-2.04606393, -1.05720303])
    #size为整数序列
    np.random.standard_normal((2,3))
    np.random.standard_normal([2,3]).shape#(2, 3)

    numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。

    #numpy.random.randint(low, high=None, size=None, dtype='l')
    import numpy as np
    #low=2
    np.random.randint(2)#生成一个[0,2)之间随机整数
    #low=2,size=5
    np.random.randint(2,size=5)#array([0, 1, 1, 0, 1])
    #low=2,high=2
    #np.random.randint(2,2)#报错,high必须大于low
    #low=2,high=6
    np.random.randint(2,6)#生成一个[2,6)之间随机整数
    #low=2,high=6,size=5
    np.random.randint(2,6,size=5)#生成形状为5的一维整数数组
    #size为整数元组
    np.random.randint(2,size=(2,3))#生成一个2x3整数数组,取数范围:[0,2)随机整数
    np.random.randint(2,6,(2,3))#生成一个2x3整数数组,取值范围:[2,6)随机整数
    #dtype参数:只能是int类型
    np.random.randint(2,dtype='int32')

    numpy.random.seed(x)

    import numpy as np
    np.random.seed(0)
    a = np.random.rand(2,3)
    print(a)
    np.random.seed(0)
    b = np.random.rand(2,3)
    print(b)

    a.shuffle(a)  根据数组的最外轴进行随机排列,改变原来数组

    a.permutation(a)  根据数组的最外轴产生随机排序,不改变原来数组

    np.choice(a[,size,replace,p])  在一维数组a中以概率p抽取,形成size形状的新数组,replace表示是否可以选取重复数组

    分布函数:

    np.uniform(low,high,size)  产生均匀分布的数组,low起始值,high结束值,size形状

    np.normal(loc,scale,size)  产生正态分布的数组,loc均值,scale标准差,size形状

    np.poisson(lam,size)    产生泊松分布的数组,lam随机事件发生率,size形状

    统计函数:

    np.sum(a,axis=None)          根据给定轴axis计算数组a相关元素的和,axis整数或者元组

    np.mean(a,axis-None)           根据给定轴axis计算数组a相关元素的数学期望,axis整数或者元组

    np.average(a,axis-None,weights=None)    根据给定轴axis计算数组a相关元素的数学期望,axis加权平均值

    np.std(a,axis=None)            根据给定轴axis计算数组a相关元素的标准差

    np.var(a,axis=None)            根据给定轴axis计算数组a相关元素的方差

    min(a)  max(a)             计算数组a中元素的最小值,最大值

    argmin(a)  argmax(a)           计算数组a中元素最小值,最大值的降一维后下标

    unravel_index(index,shape)        根据shape将一维下标index转换成多维下标

    ptp(a)                 计算数组a中元素最大值和最小值的差

    median(a)               计算数组a中元素的中位数(中值)

    import numpy as np
    b = np.arange(15).reshape(3,5)
    print(b)
    tip = np.argmax(b)
    print(tip)
    tip = np.unravel_index(tip,b.shape)
    print(tip)

    梯度:

    np.gradient(f)  计算数组f中元素的梯度,f为多维时,返回每个元素的梯度

    梯度:连续值之间的变化率,即斜率

    XY坐标轴连续三个X坐标对应的Y轴值:a,b,c,其中b的梯度是(c-a)/2

    import numpy as np
    a = np.arange(10)
    print(a)
    tidu = np.gradient(a)
    print(tidu)
    b = np.arange(15).reshape(3,5)
    print(b)
    tidu = np.gradient(b)
    print(tidu)

    注:二维数组会有两个梯度

  • 相关阅读:
    windows下编译Boost库
    linux下编译Boost库
    CEPH安装教程(下)
    CEPH安装教程(中)
    CEPH安装教程(上)
    nfs使用教程
    iscsi使用教程(下)
    POJ-2096 Collecting Bugs 概率dp
    HDU-3586 Information Disturbing 树形dp+二分
    HDU-1024 Max Sum Plus Plus 动态规划 滚动数组和转移优化
  • 原文地址:https://www.cnblogs.com/zsc329/p/9370761.html
Copyright © 2011-2022 走看看