在数据分析中,Python的主要探索函数

  • Python中主要用于书探索的是pandas(数据分析)和matplotlib(数据可视化).其中pandas提供了大量的数据探索的工具与数据相关的函数,这些数据探索可大致分为统计特征函数与统计作图函数,而作图函数依赖于mayplotlib,所以往往又会跟matplotlib结合在一起使用
  • 基本统计特征的函数:统计特征用于计算数据的均值,方差,标准差,分位数,相关系数和协方差等,这些统计特征能反映出数据的整体分布
  • 方法名
    函数功能
    所属库
    corr() 计算样本数据的Spearman(Pearson)相关系数矩阵 pandas
    cov() 计算样本数据的协方差矩阵 pandas
    describe() 给出样本的基本描述(基本统计量入均值,标准差等) pandas
    kurt() 样本值的峰度(四阶矩) pandas
    mean() 计算数据样本的算数平均数 pandas
    skew() 样本值的偏离(三阶矩) pandas
    std() 计算样本数据的标准差 pandas
    sum() 计算数据样本的总和(按列计算) pandas
    var() 计算样本数据的方差 pandas
  • sum()
    1. 功能:计算数据样本的总和(按列计算)
    2. 使用格式: D.sum() 按列计算样本D的总和,样本D可为DataFrame或者Series
  • mean()
    1. 功能:计算数据样本的算数平均数
    2. 使用格式: D.mean()按列计算样本D的均值,样本D可为DataFrame或者Series
  • var()
    1. 功能:计算样本数据的方差
    2. 使用格式: D.var(),按列计算样本D的均值,样本D可为DataFrame后者Series
  • std()
    1. 功能:计算样本数据的标准差
    2. 使用格式:D.std() 按列计算样本D的均值,样本D可为ataFrame或者Series
  • corr()
    1. 功能:计算样本数据的Spearman(Pearson)相关西湖矩阵
    2. 使用格式: D.corr(method="pearson"), 样本D可为DataFrame,返回相关系数矩阵,method参数为计算方法,支持pearson系数.kendalll系数,spearman系数
      1. S1.corr(S2,method="pearson") S1,S2均为Series,这种格式指定计算两个Series之间的相关系数
  • cov()
    1. 功能:计算样本数据的协防方差矩阵
    2. 使用格式: D.cov()样本D可为DataFrame,返回协方差矩阵
  • skew/kurt
    1. 功能:计算数据样本的偏度(三阶矩)/峰度(四阶矩)
    2. 使用格式 D.skew()/D.kurt() 计算样本D的偏度(三阶矩)/峰度(四阶矩).样本D可为DataFrame或Series
  • describe()
    1. 功能:直接给出样本数据的一些基本的统计量,包括均值,标准差,最大值,最小值,分位数等.
    2. 使用格式: D.describe(),括号里可以带一些参数,比如percentiles = [0.2, 0.4, 0.6, 0.8].就是指定只计算0.2,0.4,0.6,0.8分位数,而不是默认的1/4, 1/2, 3/4分位数

拓展统计特征函数

  • 除了上述的统计特征外,pandas还提供了一些非常方便的计算特征的函数,主要又累计计算(cum)和滚动计算(pd.rolling)
  • 方法名
    函数功能
    所属库
    cummax() 依次给出前1,2,3,..,个数的最大值. pandas
    cummin() 依次给出前1,2,3,...,个数的最小值 pandas
    cumprod() 依次给出1,2,3,...,n个数的积 pandas
    cumsum() 依次给出前1,2,3...,n个数的和 pandas
  • pandas累积统计特征函数
  • 方法名
    函数功能
    所属库
    rolling_sum() 计算数据样本的总和(按列计算) pandas
    rolling_mean() 数据样本的算术平均数 pandas
    rolling_var() 计算样本的方差 pandas
    rolling_std() 计算样本的标准差 pandas
    rolling_corr() 计算样本的Spearman(Pearson) pandas
    rolling_cov() 计算数据样本的协方差矩阵 pandas
    rolling_skew() 样本的偏度(三阶矩) pandas
    rolling_kurt() 样本值的峰度(四阶矩) pandas

统计作图函数

  • 通过统计作图函数绘制的图表可以直观地反映出数据及统计量的性质机器内在的规律,如盒图恶意表示多个样本的均值.误差条形图能同时显示下限和上限误差,最小二乘拟合曲线图能分析两变量间的关系.
  • Python主要统计作图函数
  • 作图函数名
    作图函数功能
    所属工具箱
    boxplot() 绘制样本数据的箱型图 Pandas
    hist() 绘制二维条形直方图,可显示数据的分配情况 Matplotlib/Pandas
    pie() 绘制饼型图 Matplotlib/Pandas
    plot() 绘制线性二维图,折线图 Matplotlib/Pandas
    plot(logy=True) 绘制y轴的对数图形 Pandas
    plot(yerr=error) 绘制误差条形图 Pandas
  • plot
    • 功能:绘制线性二维图
    • 使用格式: plt.plot(x,y,S)
      • 这是Matplotlib通用的绘图方式,绘制y对于x(即以x为横轴的二维图形),字符串参量S指定绘制时图形的类型,样式和颜色,常用的选型有:"b"为蓝色,"r"为红色,"g"为绿色,"o"为圆圈,"+"为加号标记,"-"为实线,"–"为虚线,当x,y均为实数同维向量时,则描出点(x(i),y(i)),然后用直线依次相连
    • D.plot(kind='box')
      • 这里使用的是DataFrame或Series对象内置的方法作图,默认以Index为横坐标,没列数据为纵坐标自动作图,通过kind参数指定作图类型支持line(线)和area,pie(饼图)等,同时也能够接受plt.plot()中接受的参数.
  • pie
    • 功能:绘制饼型图

      import matplotlib.pyplot as plt
      import numpy as np
      x = np.random.randn(1000) # 1000个服从正太分布的随机数
      plt.hist(x, 10) # 分成10组进行绘制直方图
      plt.show()
    • 使用格式: plt.pie(size),使用matplotlib绘制饼图,其中size是一个列表,记录各个扇形的比例
  • hist
    • 功能:绘制二维条形直方图,可显示数据分布情形
    • 使用格式: Plt.hist(x,y),其中,x是待绘制的直方图的一维数组,也可以是整数,表示均匀分为n组;也可以是列表,列表各个数字为分组的边界点(即手动指定分界点)
  • boxplot
    • 功能:绘制样本数据的箱型图
    • 使用格式: D.boxplot()/D.plot(kind="box"),有两种比较简单的方式绘制D的箱型图,其中一种是直接调用DataFrame的boxplot()方法;另外一种是调用Series或者DataFrame的plot()方法,并用kind参数指定箱型图.其中,盒子的上,下四分位数和中值处于一条线段,箱型图末端延伸出去的直线成为须,表示盒外数据的长度.如果在须外没有数据,则在须的底部有一点,点的颜色相同.
  • import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    import random
    x = np.random.randn(1000) # 1000个服从正太分布
    D = pd.DataFrame([x, x+1]).T # 构造两列的DataFrame
    D.plot(kind="box") # 调用Series内置的作图方法画图,用kind参数指定箱型图box
    plt.show()
  • plot(logx = True)/plot(logy = True)
    • 功能:绘制x或y轴对的对数图形
    • 使用格式: D.plot(logx = True) / D.plot(logy = True), 对x轴(y轴)使用对数刻度(以10为底),y轴(x轴)使用线性刻度,进行plot函数绘图,D为pandas的DataFrame或者Series
  • import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
    x = pd.Series(np.exp(np.arange(20))) # 原始数据
    x.plot(label= u"原始数据图", legend=True)
    plt.show()
    x.plot(logy=True, label=u"对数数据图", legend=True)
    plt.show()
  • plot(yerr= error)
    • 功能:绘制误差条形图
    • 使用格式: D.plot(yerr=error),绘制误差条形图,D为pandas的DataFrame或Series,代表着均值数据句列,而error则是误差列,次命令在y轴方向画出误差棒图,如果设置参数xerr=error,则在x轴方向画出误差棒图
  • import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    plt.rcParams["font.sans-serif"] = ["SimHei"] # 用来正常显示中文标签
    plt.rcParams["axes.unicode_minus"] = False # 用来正常显示负号 error = np.random.randn(10) # 定义误差列
    y = pd.Series(np.sin(np.arange(10))) # 均值数据列
    y.plot(yerr=error) # 绘制误差图
    plt.show()

python主要探索函数的更多相关文章

  1. 【转】实习小记-python 内置函数__eq__函数引发的探索

    [转]实习小记-python 内置函数__eq__函数引发的探索 乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, othe ...

  2. Python 动态创建函数【转】

    知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...

  3. python中的函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  4. python高级之函数

    python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多 ...

  5. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  6. Python基础三. 函数、lambda、filter、map、reduce

    一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...

  7. Python 常用string函数

    Python 常用string函数 字符串中字符大小写的变换 1. str.lower()   //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...

  8. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  9. Python 之匿名函数和偏函数

    匿名函数与偏函数 匿名函数 Python允许使用lambda关键字创造匿名函数,lambda表达式用于定义匿名函数,它返回可调用的函数对象,语法如下: lambda arg1, arg2, … : e ...

随机推荐

  1. 结构体和typedef

    在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{    结构体所包含的变量或数组}; 结构体是一种集合,它里面包含了多个变量或数组,它 ...

  2. python 字符串str和json格式转换

    最近在写一个脚本,需要处理从excel中读取的数据,发现读取的json格式数据进行转换时报错 ValueError: Expecting property name enclosed in doubl ...

  3. USACO 6.1 章节

    Postal Vans 题目大意 4*n的网格,要经过所有点的有向有环,不重复经过点的路径总数 n<=1000 题解 显然 插头dp 以4为切面 问题是,会发现 超精度 解决呢要么实现高精度,要 ...

  4. Cocos2d-x之数据的处理

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. FileUtils 在游戏中,用户要保存自己的偏好设置和玩家的信息,都需要涉及到游戏数据的处理.首先要想处理数据,则要找到文件,创建文件, ...

  5. jmeter beanshell 写入文件

    1.首先F:\test.txt文件为空

  6. python打开文件失败,报错'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence

    python3.7,python3.6都存在的问题: 读取的文件编码是utf-8 第1行是空行.#开头都可能会报这个错误: E:\count_packet>python string_count ...

  7. JVM系列(一) — Jvm内存模型

    总结自<深入理解java虚拟机> 很多博客在讲虚拟机内存模型时,比较宽泛或者粗化,甚者,不准确,以下是我的一个笔记照片 运行时数据区可以分为两部分:线程共享区和线程私有区 一.线程共享区 ...

  8. ant打包遇到的问题

    \build\build.xml:350: Problem: failed to create task or type foreach Cause: The name is undefined. A ...

  9. 2019-8-31-C#-遍历枚举

    title author date CreateTime categories C# 遍历枚举 lindexi 2019-08-31 16:55:58 +0800 2018-03-13 20:42:2 ...

  10. MYSQL全文索引—CONTAINS语法

    我们通常在 WHERE 子句中使用 CONTAINS ,就象这样:SELECT * FROM table_name WHERE CONTAINS(fullText_column,'search con ...