描述性分析
描述性统计分析是关于数据的描述和汇总。它使用两种主要方法:
- 定量方法以数值方式描述和汇总数据。
- 可视化方法通过图表,曲线图,直方图和其他图形来说明数据。
一般在数据分析的过程中,拿到数据不会去直接去建模,而是先做描述性分析来对数据有一个大致的把握,很多后续的建模方向也是通过描述性分析来进一步决定的。那么除了在Excel/R中可以去做描述性分析。
本文将细致讲解如何使用python进行描述性分析的定量分析部分:
- 均值
- 中位数
- 方差
- 标准差
- 偏度
- 百分位数
- 相关性
至于可视化的部分可以参考我之前讲解pyecharts的文章,当然后面还会介绍echarts以及ggplot2的方法。
涉及到的python库
- Python statistics是用于描述性统计信息的内置Python库。如果您的数据集不是太大,或者您不能依赖于导入其他库,则可以使用它。
statistics - Mathematical statistics functions - Python 3.8.2rc1 documentation
statistics - Mathematical statistics functions - Python 3.8.2rc1 documentationdocs.python.org- NumPy是用于数字计算的第三方库,已针对使用一维和多维数组进行了优化。它的主要类型是称为的数组类型
ndarray
。该库包含许多用于统计分析的方法。
- SciPy是基于NumPy的用于科学计算的第三方库。与NumPy相比,它提供了其他功能,包括
scipy.stats
统计分析。
Getting started - SciPy.org
Getting started - SciPy.orgwww.scipy.org- Pandas是基于NumPy的用于数值计算的第三方库。它擅长处理带有
Series
对象的带标签的一维(1D)数据和带有对象的二维(2D)数据DataFrame
。
- Matplotlib是用于数据可视化的第三方库。通常会与NumPy,SciPy和Pandas结合使用
开始
首先导入所有的包
import math
import statistics
import numpy as np
import scipy.stats
import pandas as pd
创建数据
![141bd545028a43cb9ff12a8f6f857170.png](https://i-blog.csdnimg.cn/blog_migrate/7ed4d67de6a84d5b7448ac70aa330d36.jpeg)
x
和x_with_nan
都是list。不同之处在于x_with_nan
包含一个nan
值。也就是空值(缺失值),这样的数据在分析中十分常见。那么在python里,创建一个nan值可以有以下方法
float('nan')
math.nan
np.nan
当然这三种方法创建的空值都是等价的
![24ea937f54be64ef8c90f9bac30d3252.png](https://i-blog.csdnimg.cn/blog_migrate/b7821e07bde619679e3fa5ca5f7d6f46.png)
但是真的相等吗,两个nan是不相等的,换句话说,是不可以进行比较的,这后面的故事以后再说。
![ca59a2d872cfaeda0b55185063377fe2.png](https://i-blog.csdnimg.cn/blog_migrate/64c364e45516b0f6cb9328d9407fa488.png)
接着,我们使用numpy和pandas来创建两个一维numpy arrays和pandas series