2

TL;DR : 分散読み取りからメタデータ (解析中のエラー) を dask データフレーム コレクションに収集するにはどうすればよいですか。

私は現在、dask.DataFrame にフィードするために使用している独自のファイル形式を持っています。ファイルパスを受け入れて pandas.DataFrame を返す関数があります。これは、複数のファイルを同じ dask.DataFrame に正常にロードするために dask.DataFrame によって内部的に使用されます。

最近まで、私は自分のコードを使用して複数の pandas.DataFrames を 1 つにマージしていましたが、現在は代わりに dask を使用することに取り組んでいます。ファイル形式を解析するときに、エラーや特定の条件が発生する場合があります。ログに記録し、dask.DataFrame オブジェクトにメタデータ (ログ、データの起源など) として関連付けたいと考えています。

合理的な場合、MultiImdices をかなり頻繁に使用していることに注意することが重要です (13 のインデックス レベル、3 列のレベル)。特定の行ではなくデータフレーム全体を記述するメタデータについては、属性を使用しています。

カスタム関数を使用して、実際の DataFrame を含むタプルでメタデータを渡すことができました。pandas を使用すると、それを _metadata フィールドに追加し、DataFrame オブジェクトの属性として追加できます。dask フレームワークを使用しているときに、別の pandas.DataFrame オブジェクトからメタデータを収集するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

2

ここでいくつかの潜在的な質問があります。

  • Q :多くのファイルからカスタム形式のデータを単一の dask データフレームにロードするにはどうすればよいですか?
  • A : をチェックアウトして、dask.delayedデータをロードdask.dataframe.from_delayedし、いくつかの daskDelayedオブジェクトを単一の dask データフレームに変換することができます。dask.dataframe.from_pandasまたは、おそらく今行っているように、 andを使用できますdask.dataframe.concat。カスタム オブジェクト/関数からの dask.delayed の使用に関するこのサンプル ノートブックを参照してください。

  • Q :任意のメタデータを dask.dataframe に保存するにはどうすればよいですか?

  • A : これはサポートされていません。通常、可能であれば別のデータ構造を使用してメタデータを保存することをお勧めします。これに多くのユースケースがある場合は、dask データフレームに追加することを検討する必要があります。この場合は、問題を提起してください。一般に、dask.dataframe がサポートを検討する前に、Pandas でこれがより適切にサポートされるとよいと考えられていました。

  • Q : Pandas でマルチインデックスを多用しています。このワークフローを dask.dataframe に統合するにはどうすればよいですか?

  • A : 残念ながら、dask.dataframe は現在マルチインデックスをサポートしていません。これらは明らかに役に立ちます。
于 2016-01-31T20:19:08.187 に答える