数据的概括性度量

数据的概括性度量中所用到的相关知识点词汇:
在这里插入图片描述
相关的代码实现:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

path = "D:\\数据\\wblc\\breast-cancer-wisconsin_data.csv"
data = pd.read_csv(path, encoding = "UTF-8").iloc[0:20,1]
data

在这里插入图片描述

# 计算平均值
# 法一
print("算术平均数:%.2f" %data.mean())
# 法二:几何平均数
s = 1
for i in data:
    s = i * s
print("几何平均数:%.2f" %np.sqrt(s))

在这里插入图片描述

# 众数
# 法一:
print("众数为:%d," %data.mode().iloc[0])
# 法二
from scipy.stats import mode
mode_num = mode(data)
print("众数为:%d, 众数的个数为:%d,"%(mode_num[0][0], mode_num[1][0]))

print(mode_num)
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)))

在这里插入图片描述

# 标准差
# 法一
print("标准差1:%d" %data.std())
# 法二:
print("标准差2:%d" %np.sqrt(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的分布图:

import seaborn as sns 
sns.set_palette("hls") #设置所有图的颜色,使用hls色彩空间
sns.distplot(data,color="r",bins=10,kde=True)
plt.show()

在这里插入图片描述
参考文档:
https://www.jianshu.com/p/887a7d35bbec

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值