在数据分析中,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. Php邮件发送源码

    好久冒写点东西了.....最近生活压抑的很....为生活而劳累,整理下邮件发送的实例了,网上也有很多,我这个也是提取整理好的,测试Ok,首页邮件类smtp_email_class.php如下:< ...

  2. VMware虚拟机重新挂载共享目录

    经常遇到设置的共享目录在重启虚拟机后找不到的情况,于是写了个脚本:mount-shared-folders. 前提是你的虚拟机中已经安装了VMware的相关工具(一般装完虚拟机都会自动安装上的) #! ...

  3. python-django之cookie及session

    Cookie Cookie的由来 Http协议是无状态的 无状态的意思是每次都是独立的请求存在,它的执行情况和结果与前面的请求和后面的请求都无直接关系,它不会受到前面的请求响应情况直接影响,也不会直接 ...

  4. “CreateRiaClientFilesTask”任务意外失败。 未能加载文件程序集“System.ComponentModel.DataAnnot...

    错误  77  “CreateRiaClientFilesTask”任务意外失败.  System.Web.HttpException (0x80004005): 未能加载文件或程序集“System. ...

  5. Nginx 实现 Rewrite 跳转

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上一篇文章对Nginx的Location配置进行了讲解,本篇主要对于Nginx中的Rewrite跳转进行讲解. ...

  6. 用react+redux+webpack搭建项目一些疑惑

    --save-dev开发用 例如:webpack --save开发和发布用 例如:react

  7. 【知识强化】第六章 查找 6.3 B树和B+树

    本节课我们来学习本章的第一个难点,就是B树.那么B树它其实是一种数据结构,我们设计出这种数据结构就是为了提高我们的查找效率的,提高我们在磁盘上的查找效率.那么什么是B树呢?了解B树之前,我们先来回忆一 ...

  8. 新旧Django版本中urls与path的区别

    from django.conf.urls import url from . import view urlpatterns = [ url(r'^hello$', view.hello),] 新版 ...

  9. Android开发中怎样用多进程、用多进程的好处、多进程的缺陷、解决方法(转)

    转自:http://blog.csdn.net/spencer_hale/article/details/54968092 1.怎样用多进程 Android多进程概念:一般情况下,一个应用程序就是一个 ...

  10. php socket简单原理及实现笔记

    1.什么是socket? socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,连接的一端称为一个socket. 因此socket运行是置少有2个端组成,一个为服务端一个为客户端(客户端 ...