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