《python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》筆記-3.1代碼問題

今天看到《python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》這本書的第三章的第一份代碼,照著書上的代碼敲了一遍,發(fā)現(xiàn)在異常值處理的部分會(huì)報(bào)錯(cuò)。

x = p['fliers'][0].get_xdata()

y = p['fliers'][0].get_ydata()

報(bào)錯(cuò)信息:

TypeError:'AxesSubplot'objectisnot subscriptable

解決方案

解決的方法很簡單,只需在使用DataFrame創(chuàng)建箱線圖的時(shí)候加上return_type= ‘dict’即可。

具體可見pandas的官方文檔

截圖如下


import pandas as pd import matplotlib.pyplot as plt

catering_sale = '../data_learn/catering_sale.xls'?

data = pd.read_excel(catering_sale, index_col='日期') #?

print(data.describe()) plt.rcParams['font.sans-serif'] = ['SimHei']?

plt.rcParams['axes.unicode_minus'] = False plt.figure() #?

p = data.boxplot() # 書上的版本 ? ? ? ? ? ?p = data.boxplot(return_type='dict')?

x = p['fliers'][0].get_xdata()?

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容