zoukankan      html  css  js  c++  java
  • numpy 学习:统计函数和相关性

    数组的统计函数用于对数组做统计运算。

    一,统计方法

    NumPy内置数据分析常用的统计量:

    • mean():计算元素的均值
    • median():计算中位数
    • var():计算元素的方差
    • std() :计算元素标准差
    • max():计算元素的最大值
    • min():计算元素的最小值
    • ptp():计算元素的取值范围,即最大值和最小值的差值
    • percentile():计算百分位
    • quantile():计算分为数
    • count_nonzero():计数
    • cumsum:计算所有元素的累计和
    • cumprod:计算所有元素的累计积

    1,求和

    举个例子,创建一个二维数组,按照行和列分别求和:

    a = np.array([[0, 2, 1]
                  ,[0,1,0]])
    
    r1=a.sum()
    r2=a.sum(axis=0)
    r3=a.sum(axis=1)
    
    print('a.sum() = {0}\na.sum(axis=0) = {1}\na.sum(axis=1) ={2}'.format(r1,r2,r3))

    2,求积

    举个例子,创建一个二维数组,按照行和列分别求乘积:

    a = np.array([[1, 2, 1]
                 ,[1,1,0]])
    
    r1=a.prod()
    r2=a.prod(axis=0)
    r3=a.prod(axis=1)
    
    print('a.prod() = {0}\na.prod(axis=0) = {1}\na.prod(axis=1) ={2}'.format(r1,r2,r3))

    3,计算数组的均值

    计算数组的均值,或者某一个维度的均值:

    a = np.array([[1, 2, 1]
                 ,[1,1,0]])
    
    r1=a.mean()
    r2=a.mean(axis=0)
    r3=a.mean(axis=1)
    
    print('a.mean() = {0}\na.mean(axis=0) = {1}\na.mean(axis=1) ={2}'.format(r1,r2,r3))

    4,统计非0元素的个数

    作为示例,考虑只包含1和0的一维向量中,统计从0 到 1 转换的数量,在矢量化形式中,没有明确的for循环或直接引用各个元素:

    >>> np.count_nonzero(x[:-1] < x[1:])

    二,相关性

    1,返回 Pearson 积矩相关系数

    numpy.corrcoef(x, y=None, rowvar=True, *, dtype=None)

    2,协方差矩阵

    根据data和weight,计算协方差矩阵:

    numpy.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None, aweights=None, *, dtype=None)

    计算的逻辑:

    m = np.arange(10, dtype=np.float64)
    f = np.arange(10) * 2
    a = np.arange(10) ** 2.
    ddof = 1
    w = f * a
    v1 = np.sum(w)
    v2 = np.sum(w * a)
    m -= np.sum(m * w, axis=None, keepdims=True) / v1
    cov = np.dot(m * w, m.T) * v1 / (v1**2 - ddof * v2)

    3,相关性

    计算两个一维序列的相关性

    numpy.correlate(a, v, mode='valid')

    举个例子:

    np.correlate([1, 2, 3], [0, 1, 0.5])
    array([3.5])

     

    参考文档:

    作者悦光阴
    本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    WPF and Silverlight 学习笔记:键盘输入、鼠标输入、焦点处理
    [转]Visual Studio .NET "目标平台" 说明
    WPF 使用HwndHost嵌入Win32后,无法接受Mouse_Move\Mouse_Leave消息
    c#有多少种可能导致写文件失败?
    优化性能:文本【msdn】
    解决popup不随着window一起移动的问题
    异常处理的资料
    利用bat编译WPF项目
    属性值继承
    WPF消息机制
  • 原文地址:https://www.cnblogs.com/ljhdo/p/15766804.html
Copyright © 2011-2022 走看看