描述性统计

描述性统计

1、取数
path = “D:\数据分析(统计学)资料\实践一.csv”
data = pd.read_csv(path, encoding = “UTF-8”).iloc[0:20,1]
iloc:df.loc[0:3, [‘a’, ‘b’]]#取出0,1,2,3行的a,b两列,
#如果只取一列那么就这样写df.loc[0:3, ‘a’]
#如果取多列,那么要把列用[]放在一起如df.loc[0:3, [‘a’, ‘b’]]
描述性统计
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

path = “D:\data\data1.csv”
data = pd.read_csv(path, encoding = “UTF-8”).iloc[0:20,0] 读取第0列
1:描述性统计
2:描述性统计
众数:print(data.mode())

中位数
法一:
print(“中位数1:%d” %data.median())
#法二
print(“中位数2:%d” %np.percentile(data,50))
#法三
print(“中位数3:%d” %data.quantile(.50))
描述性统计
方差
#法一:
print(“方差1:%d” %data.var())
法二:
s = 0
for i in data:
s = (i - data.mean())**2 + s

print(“方差2:%d” %(s/(len(data)-1)))
#极差
data.max() - data.min() # 9

#平均绝对离差
M = 0
for i in data:
M += abs(i - data.mean())

print(M/len(data)) # 2.04

上四分位数
法一
np.percentile(data,75)
#法二
data.quantile(.75)

#下四分位数
#法一
data.quantile(.25)
法二:
np.percentile(data,25)

四分位差
np.percentile(data,75) - np.percentile(data,25) # 4

#离散系数
data.std()/data.mean() # 0.5824757050156248

偏度
from scipy import stats
stats.skew(data) # 0.4264951788847028

#峰度
stats.kurtosis(data) # -0.5821005917159772

#直接输出data的概括性信息
data.describe()
![data.describe()(https://img-blog.csdnimg.cn/20191117234415597.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTkwMzcxOQ==,size_16,color_FFFFFF,t_70)

(公式)参考文档:
https://www.jianshu.com/p/887a7d35bbec