已嘗試加載大文件(〜480MB,5,250,000條記錄,股票價格每日數據-dt,o,h,l,c,v ,val,adj,fv,sym,代碼 - 約4,500種儀器)使用read_csv轉換成熊貓。它運行良好,並創建DataFrame。然而,我發現,在轉換到面板時,幾個股票的價格是有限的,並且與原始csv文件中的價值無關。將大文件轉換爲使用read_csv轉換爲python熊貓的問題
然後我試圖使用read_csv的CHUNKSIZE參數,並使用一個for循環:
reader = read_csv("bigfile.csv",index_col=[0,9],parse_dates=True,names=['n1','n2',...,'nn'], chunksize=100000)
new_df = DataFrame(reader.get_chunk(1))
for chunk in reader:
new_df = concat(new_df, chunk)
這讀取數據,但:
- 我得到同樣的錯誤值轉換爲面板時的值(編輯:)
- 需要比普通read_csv更長的時間(無迭代器)
任何想法如何解決這個問題?
編輯: 改變了問題,以反映問題 - 數據框是好的,轉換到Panel是問題。即使在拆分輸入csv文件,合併然後轉換爲面板之後,發現出現錯誤。如果我維護多索引DataFrame,則沒有問題,並且值正確表示。
問題可能與您的CSV文件有關。它可能在意外的地方包含分隔符,導致CSV解析出錯。嘗試通過創建一個最初是數據副本的測試文件來縮小問題範圍,然後逐漸刪除文件的某些部分,直到您導致導致問題的文件部分爲止。 – BrenBarn
你可以與我分享這個文件,這樣我可以調試嗎?我在這裏創建了一個問題:https://github.com/pydata/pandas/issues/1855。如果這不是公共數據,你可以直接通過Gmail郵箱發送電子郵件給我wmailmckinn com –