python主要探索函数
阅读原文时间:2023年07月14日阅读:1

在数据分析中,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()

  • mean()

  • var()

  • std()

  • corr()

  • cov()

  • skew/kurt

  • describe()

拓展统计特征函数

  • 除了上述的统计特征外,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()