梳理大纲: 描述性统计
【1】Python环境安装
【2】pandas和numpy环境安装
【3】Python实现描述性统计的内容参考资料:
【1】python安装官网
【2】python安装参考
【3】练手数据
【4】描述性统计实现过程参考
【5】电子版书籍下载
【6】视频链接From 统计学Statistics 学习小组:由【木东居士】公众号 定期发起
对数据感兴趣的伙伴们 可一同在此交流学习
生成数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import math
data = pd.DataFrame(np.random.randint(-100,100,size=1000),columns=["data"])
平均数
# 平均数
# 算数平均数
print("算数平均数是:{}".format(round(data.data.mean(),2)))
# 几何平均数
length = data.shape[0]
value = math.pow(data.data.cumprod()[length-1],1/length)
print("几何平均数是:{}".format(round(value,2)))
众数
# 众数 方法1
mode_num = data.mode().iloc[0,0]
print("众数是:{}".format(round(mode_num,2)))
# 众数 方法2
from scipy.stats import mode
mode_num = mode(data)
print("众数为:%d, 众数的个数为:%d,"%(mode_num[0][0], mode_num[1][0]))
中位数
# 中位数 方法1
print("中位数是:{}".format(round(data.data.median(),2)))
# 中位数 方法2
median_value = np.percentile(data.data,50)
print("中位数是:{}".format(round(median_value,2)))
# 中位数 方法3
median_value = data.data.quantile(q=0.5)
print("中位数是:{}".format(round(median_value,2)))
方差&标准差&极差&平均绝对离差
# 方差
print("方差是:{}".format(round(data.data.var(),2)))
# 标准差
print("标准差是:{}".format(round(data.data.std(),2)))
# 极差
data.data.max()-data.data.min()
# 平均绝对离差
sum([abs(i-data.data.mean())for i in data.data])/len(data.data)
分位数
# 上四分位数
np.percentile(data.data,75)
data.data.quantile(q=0.75)
# 下四分位数
np.percentile(data.data,25)
data.data.quantile(q=0.25)
# 四分位差
np.percentile(data.data,75) - np.percentile(data.data,25)
离散系数&偏度&峰度
# 离散系数
data.data.mean()/data.data.std()
# 偏度
from scipy import stats
stats.skew(data.data)
# 峰度
stats.kurtosis(data.data)
# 直接输出data的概括性信息
data.data.describe()
最后绘制下分布图
# 绘制data的分布图
# sns.distplot画频数直方图
# kde=True,进行核密度估计
sns.distplot(data.data,kde=True)
plt.title("Histogram of the Data")
———————————————End————————————————