对读取的csv文件进行处理,输出最大值,最小值,平均值,缺失变量以及通过箱式图判断异常点

1、输出数据集的基本信息

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_csv("F:\\catering_sale.csv")
data1=data.describe()
print(data1)

                   销量
count     200.000000
mean     2755.214700
std         751.029772
min        22.000000
25%       2451.975000
50%       2655.850000
75%       3026.125000
max       9106.440000
2、缺失值的数量

data2=data.isnull().sum()
print(data2)

日期   0
销量   1

3、箱式图判断异常点

#解决中文乱码
plt.rcParams['font.sans-serif']=[u'SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure() #建立图像
p = data.boxplot(return_type='dict') #画箱线图,直接使用DataFrame的方法.代码到这为止,就已经可以显示带有异常值的箱型图了,但为了标注出异常值的数值,还需要以下代码进行标注.
#for i in range(0,4):
x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签.[0]是用来标注第1位歌手的异常值数值,同理[i]标注第i+1位歌手的异常值.
y = p['fliers'][0].get_ydata()
y.sort() #从小到大排序
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() #展示箱线图

4、完整代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_csv("F:\\catering_sale.csv")
data1=data.describe()
print(data1)
data2=data.isnull().sum()
print(data2)
#解决中文乱码
plt.rcParams['font.sans-serif']=[u'SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure() #建立图像
p = data.boxplot(return_type='dict') #画箱线图,直接使用DataFrame的方法.代码到这为止,就已经可以显示带有异常值的箱型图了,但为了标注出异常值的数值,还需要以下代码进行标注.
#for i in range(0,4):
x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签.[0]是用来标注第1位歌手的异常值数值,同理[i]标注第i+1位歌手的异常值.
y = p['fliers'][0].get_ydata()
y.sort() #从小到大排序
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:36  xh嘿  阅读(249)  评论(0)    收藏  举报