2016-12-01 8 views
0

私はcsvファイルを読み込むためにdaskを使用しています。しかし、私はこのエラーのために、その上で操作を適用したり計算したりすることができませんでした。Dask DataFramesの値のエラー

あなたはこのエラーについてどう考えていますか? enter image description here

+0

[mcve](http://stackoverflow.com/help/mcve)を提供するとお手伝いできますか? – MRocklin

+0

@MRocklin、いつも助けてくれてありがとう。私はこの記事へのあなたの答えを通して問題への解決策を見つけます: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を決定する必要があります。これを行うには、pandasのcsvファイルを読み込み、データ型を識別し、dskを使用して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)