美文网首页我爱编程
Numpy学习笔记(二)

Numpy学习笔记(二)

作者: 深思海数_willschang | 来源:发表于2016-09-18 16:27 被阅读4225次

    Numpy读写文件

    #写:函数将数据a存储到test.txt文件中
    np.savetxt('test.txt', a)
    
    '''
    读
    表示读取test.csv文件,分隔符设置
    为‘,’(delimiter=','),usecols表示
    取得哪几列数据,unpack=True表示分
    拆存储不同列的数据,即分别将第6列与
    第7列数据赋值给变量x,y
    '''
    x, y = np.loadtxt('test.csv', delimiter=',', usecols=(6,7), unpack=True)
    
    

    数据分析常用的函数

    #加权平均,v作为权重参数
    np.average(c, weights=v)
    
    #算术平均
    np.mean(c)
    
    #取值范围
    np.max(c)
    np.min(c)
    
    #ptp函数返回最大值与最小值之间的差值
    np.ptp(c)
    
    #median函数返回中位数
    np.median(c)
    
    #var方差
    np.var(c)
    
    #diff函数返回一个由相邻数组元素的差值构成的数组
    np.diff(c)
    
    #std函数计算标准差
    np.std(c)
    
    #where函数根据指定的条件返回所有满足条件的数组元素的索引值
    idx = np.where(c>6)
    # take函数按照索引值从数组中取出相应的元素,np.take(c,np.where(c>6))
    data = np.take(idx)
    
    #argmin返回是c数组中最小元素的索引值,argmax返回最大值索引值
    np.argmin(c)
    np.argmax(c)
    
    #maximum函数可返回多个数组里的各最大值
    np.maximum(a, b, c)
    #同理minximum返回最小值
    
    #exp函数可计算每个数组元素的指数
    np.exp(x)
    
    #linspace(s, e, [n])函数起始s, 终止e,个数n(可选),返回一个元素值在指定的范围内均匀分布的数组
    np.linspace(-1, 0, 5)
    
    #fill函数,将数组元素的值全部设置为一个指定的标量值
    
    

    数组修剪和压缩

    #clip方法将所有比给定最大值还大的
    #元素全部设为给定的最大值,而所有
    #比给定最小值还小的元素全部设定为给定的最小值
    a = np.arange(5)
    a.clip(1,2)
    
    #compress方法返回一个根据给定条件筛选后的数组
    a = np.arange(4)
    a.compress(a>2)
    #[3]
    

    阶乘

    #prod计算数组中所有元素的乘积
    b = np.arange(1, 9)
    print("b =", b)
    print("Factorial", b.prod())
    #b = [1 2 3 4 5 6 7 8]
    #Factorial 40320
    
    #cumprod方法,计算数组元素的累积乘积
    b.cumprod()
    #[ 1 2 6 24 120 720 5040 40320]
    
    

    相关性

    #协方差,描述两个变量共同变化趋势
    c = np.cov(a,b)
    
    #diagonal返回对角线上的元素
    c.diagonal()
    
    #trace计算矩阵的迹,即对角线上元素之和
    c.trace()
    
    #corrcoef函数计算相关系数(或者更精确地,相关系数矩阵)
    np.corrcoef(a, b)
    

    判断数组里数据正负性

    Paste_Image.png
    #sign函数可以返回数组中每个元素的正负符号,
    #数组元素为负时返回-1,为正时返回1,否则返回0
    np.sign(c)
    
    #piecewise函数来获取数组元素的正负。piecewise函数可以分段给定取值
    np.piecewise(c, [c>0, c<0], [-1,1])
    

    ’乘与dot函数*
    NumPy中的乘法运算符 *指示按元素计算,矩阵乘法可以使用 dot函数

    import numpy as np
    
    a = np.arange(6).reshape(2,3)
    '''
    [[0 1 2]
     [3 4 5]]
    '''
    b = np.arange(-3, 3).reshape(2, 3)
    '''
    [[-3 -2 -1]
     [ 0  1  2]]
    '''
    bb = b.reshape(3, 2)
    '''
    [[-3 -2]
     [-1  0]
     [ 1  2]]
    '''
    
    ab = a * b
    print('a*b result is ', ab)
    '''
     [
     [ 0 -2 -2]
     [ 0  4 10]
    ]
    '''
    
    a_bb = np.dot(a, bb)
    print('a.*b result is ', a_bb)
    '''
    [
     [ 1  4]
     [-8  4]
    ]
    '''
    

    其他函数
    trim_zeros:去掉一维数组中开头和末尾为0的元素

    其它函数array, zeros, zeros_like, ones, ones_like, empty, empty_like, arange, linspace, rand, randn, fromfunction, fromfile参考: NumPy示例

    相关文章

      网友评论

        本文标题:Numpy学习笔记(二)

        本文链接:https://www.haomeiwen.com/subject/ihqgettx.html