學習Python數據分析挖掘實戰一書時,在數據預處理階段,有一節要使用拉格朗日插值法對缺失值補充,代碼如下:
#-*- coding:utf-8 -*-import pandas as pdimport matplotlib.pyplot as pltfrom scipy.interpolate import lagrange#導入拉格朗日插值函數inputfile="catering_sale.xls"outputfile="H:/python/file/python_data_annalysis_mining/chapter04/sales.xls"data=pd.read_excel(inputfile,sheetname=0)statistic=data.describe()#保存基本統計量print statistictime=data[u'日期'].valuesnumber=data[u'銷量'].valuesplt.scatter(time,number)plt.show()#根據散點圖找過濾異常值的方法data[u'銷量'][(data[u'銷量']<300)|(data[u'銷量']>6000)]=None#過濾異常值,設置為空#自定義列向量插值函數#s為列向量,n為插值位置,k為取前后的數據個數,默認為5,不宜太多,受到數值不穩定性影響def ployinterp_column(s,n,k=5): y=s[list(range(n-k,n))+list(range(n+1,n+1+k))] y=y[y.notnull()]#剔除異常值 return lagrange(y.index,list(y))(n)#插值并返回插值結果for i in data.columns: for j in range(len(data)): if(data[i].isnull())[j]: data[i][j]=ployinterp_column(data[i],j)data.to_excel(outputfile)
1.import xlwt 錯誤
這個問題比較簡單,只需要在官網上下載安裝或者直接在編譯器中運行如下代碼即可,
pip install xlwt
2.to_excel錯誤
這個錯誤是由于下面這句代碼引起的,
data.to_excel(outputfile)
錯誤描述:無效的模式('w+b')或者文件名,意思是,出現這個問題的原因可能有兩個,outputfile這個文件不可寫入(w是“寫”的意思),或者打開模式不對(b是以二進制方式寫);另一種錯誤,文件名出錯,很有可能是路徑有問題,經過檢查,確實是路徑的問題,代碼如下:
outputfile="H:/python/file/python_data_annalysis_mining/chapter04/sales.xls"
改為如下代碼即可:
outputfile="H://python//file//python_data_annalysis_mining//chapter04//sales.xls"
即把單斜杠改為雙斜杠,,因為存在轉義問題。
以上這篇解決Python pandas df 寫入excel 出現的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答