1. 程式人生 > >pandas處理excel資料經驗

pandas處理excel資料經驗

1.excel檔名,或者工作簿中都不能含有中文字元,一旦含有,載入時就會報IO錯誤。列名似乎可以支援中文字元。

解決方案,網友遇到類似的問題,“csv檔案中有大量中文,怎樣在pandas裡面顯示?”
主要是解碼編碼的問題。

方案一:
pd.read_csv("example.csv",encoding="gb2312")補充下:import pandas as pddf = pd.read_csv("example.csv",encoding="gb2312")   這樣基本能保證pandas讀取中文後不亂嗎,最近遇到還有例外的情況,用encoding = ‘gb18030’  就能解決。
方案二:
首先 python檔案開始 新增 一行  #-*- coding=utf-8 -*-然後呼叫的時候 pd.read_csv(csvname,encoding="gb2312")然後看看你的python是儲存為什麼編碼的, 推薦用notepad++開啟,然後轉化為utf-8 無BOM格式的。 這樣無論在liunx還是window都能保證無亂碼。

未能解決,還是無法按中文列名索引。

2.列名雖然顯示中文正常,當試圖按中文列名索引時仍然報錯—-KeyError,函式getitem(self, key)不能正常執行。

c:\python27\lib\site-packages
\pandas\core\frame.pyc in __getitem__(self, key) 1995 return self._getitem_multilevel(key) 1996 else: -> 1997 return self._getitem_column(key) 1998 1999 def _getitem_column(self, key):

看樣子中文字元不能作為Key。花時間去琢磨修改getitem(self, key)函式應該是可以解決這個問題的…..懶得搞,反正看英文也無所謂。

3.在資料展示方面,excel遠比pandas來的舒服。看樣子要結合excel與pandas來,全部匯入到pandas中去,也不一定顯著提高效率。所以應該小批量的匯入,利用pandas的資料處理功能,方便的處理完之後,再搞好回excel。比如要計算農戶非農行業從業人員的工資,可能要統計十來個人….至少寫統計公式時要十來個人,在excel中寫就無比噁心,這時候就應該匯入到pandas中,計算完後,將結果放到excel中去。計算、繪圖一類的任務,在pandas中完成。

4.展示DataFrame資料時,在Out cell的左側單擊,可unscroll或者scroll DataFrame。