最大值,最小值,平均值,缺失变量,箱式图判断异常点

一、题目

1,输出数据集的基本信息和最大值,最小值,平均值;

2,统计缺失的变量和样本个数;

3,通过箱式图判断异常点。

二、代码及运行结果

1.输出数据集的基本信息和最大值,最小值,平均值

表格信息

代码

import pandas as pd
import numpy as np
import random
import matplotlib.pyplot as plt
data=pd.read_csv(r'C:\Users\阮总\Desktop\catering_sale.csv')
data

结果

 最大值

代码

max=data['销量'].max()
data.loc[data['销量']==max]

结果

 最小值

代码

min=data['销量'].min()
data.loc[data['销量']==min]

结果

 平均值

data['销量'].mean()

结果

 2统计缺失的变量和样本个数

缺失的变量

代码:

data.isnull().sum()

结果

样本个数

代码

data.shape[0]

结果

3通过箱式图判断异常点

画出箱式图

代码

df=data
f = df.boxplot(sym = 'o',            #异常点形状
               vert = True,          # 是否垂直
               whis=1.5,             # IQR
               patch_artist = True,  # 上下四分位框是否填充
               meanline = False,showmeans = True,  # 是否有均值线及其形状
               showbox = True,   # 是否显示箱线
               showfliers = True,  #是否显示异常值
               notch = False,    # 中间箱体是否缺口
               return_type='dict')  # 返回类型为字典
plt.show()

结果

 标出异常点的值

代码

plt.rcParams['font.sans-serif'] = ['SimHei']# 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
 
plt.figure()  # 建立图像
p = data.boxplot(return_type='dict')  # 画箱型图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata()  # 'flies'即为异常值的标签
y = p['fliers'][0].get_ydata()
y.sort()  # 从小到大排序,该方法直接改变原对象
'''
用annotate添加注释
'''
for i in range(len(x)):
    if i>0:
        plt.annotate(y[i], xy=(x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]), y[i]))
    else:
        plt.annotate(y[i], xy=(x[i],y[i]), xytext=(x[i]+0.08,y[i]))
 
plt.show()  # 展示箱型图

结果

 

posted @ 2021-03-12 15:40  浮梦RH  阅读(598)  评论(1)    收藏  举报