python箱线图读取的几列数据_【分析篇】:python 基本数据统计和绘制箱线图
數(shù)據(jù)源:catering_sale.xls
Paste_Image.png
A.餐飲銷量數(shù)據(jù)統(tǒng)計量分析,一個數(shù)據(jù)得基本統(tǒng)計量
Paste_Image.png
import pandas as pd
catering_sale = 'F:/python 數(shù)據(jù)挖掘分析實(shí)戰(zhàn)/Data/catering_sale.xls' #餐飲數(shù)據(jù)
data = pd.read_excel(catering_sale, index_col = u'日期') #讀取數(shù)據(jù),指定“日期”列為索引列
data = data[(data[u'銷量'] > 400)&(data[u'銷量'] < 5000)] #過濾異常數(shù)據(jù)
statistics = data.describe() #保存基本統(tǒng)計量,將常見的統(tǒng)計信息保存為數(shù)據(jù)框
#添加行標(biāo)簽
statistics.loc['range'] = statistics.loc['max']-statistics.loc['min'] #極差
statistics.loc['var'] = statistics.loc['std']/statistics.loc['mean'] #變異系數(shù)
statistics.loc['dis'] = statistics.loc['75%']-statistics.loc['25%'] #四分位數(shù)間距
print(statistics)
B.餐飲銷售額數(shù)異常檢測代碼--箱線圖
Paste_Image.png
import pandas as pd
catering_sale = 'F:/python 數(shù)據(jù)挖掘分析實(shí)戰(zhàn)/Data/catering_sale.xls' #餐飲數(shù)據(jù)
data = pd.read_excel(catering_sale, index_col = u'日期') #讀取數(shù)據(jù),指定“日期”列為索引列
data.head()
import matplotlib.pyplot as plt #導(dǎo)入圖像庫
plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負(fù)號
plt.figure(figsize=(10,10)) #建立圖像
plt.title("箱線圖")
p = data.boxplot() #畫箱線圖,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata() # 'flies'即為異常值的標(biāo)簽
y = p['fliers'][0].get_ydata() # 異常值的Y標(biāo)簽
y.sort() #從小到大排序,該方法直接改變原對象
#用annotate添加注釋
#annotate參數(shù)說明:
# xy = (2, 1) :所要標(biāo)注的位置坐標(biāo)
# xytext:標(biāo)注文本所在位置
# y[i]:標(biāo)注文本,可以隨意替換
#其中有些相近的點(diǎn),注解會出現(xiàn)重疊,難以看清,需要一些技巧來控制。
#以下參數(shù)都是經(jīng)過調(diào)試的,需要具體問題具體調(diào)試。
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() #展示箱線圖
參考資料:《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》
總結(jié)
以上是生活随笔為你收集整理的python箱线图读取的几列数据_【分析篇】:python 基本数据统计和绘制箱线图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pug模板引擎(原jade)
- 下一篇: halcon 将数据保存到excel_P