2016-12-01 48 views
0

我正在使用dask讀取csv文件。但是,由於此錯誤,我無法應用或計算任何操作:Dask DataFrame上的值錯誤

您是否有想法?此錯誤是什麼以及如何解決? enter image description here

+0

您可以通過提供[mcve](http://stackoverflow.com/help/mcve)來幫助嗎? – MRocklin

+0

@多克林,非常感謝你的幫助。我通過回答這個帖子找到了解決問題的方法:https://github.com/dask/dask/issues/1166 –

+0

@MRocklin,錯誤來自於推斷數據類型,所以我做的是讓熊貓首先閱讀csv文件,獲取正確的dtype並將其用於dask read_csv。但是,當我們處理更大的數據集時,這可能並不總是有用。 –

回答

1

在閱讀dask中的csv文件時,出現錯誤無法識別正確的列的dtype。

例如,我們讀取使用DASK如下csv文件:

import dask.dataframe as dd 

df = dd.read_csv('\data\file.txt', sep='\t', header='infer') 

這促使上述錯誤。

要解決此問題,請按照此評論上的@mrocklin建議的https://github.com/dask/dask/issues/1166,我們需要確定列的dtype。我們可以通過閱讀熊貓中的csv文件並識別數據類型並在使用dask讀取csv時將其作爲參數傳遞。

df_pd = pd.read_csv('\data\file.txt', sep='\t', header='infer') 
dt = df_pd.dtypes.to_dict() 
df = dd.read_csv('\data\file.txt', sep='\t', header='infer', dtype=dt)