从 dask 数据框提供者收集属性
Collecting attributes from dask dataframe providers
TL;DR:如何将分布式读取中的元数据(解析期间的错误)收集到 dask 数据帧集合中。
我目前有一种专有文件格式,我正在使用它来输入 dask.DataFrame。
我有一个接受文件路径和 returns pandas.DataFrame 的函数,dask.DataFrame 在内部使用它成功地将多个文件加载到同一个 dask.DataFrame.
直到最近,我还在使用自己的代码将多个 pandas.DataFrame 合并为一个,现在我正在改用 dask。解析文件格式时,我可能会遇到错误和某些情况,我想记录并与 dask.DataFrame 对象相关联作为元数据(日志、数据来源等)。
重要的是要注意,在合理的情况下,我会大量使用 MultiImdices(13 个索引级别,3 个列级别)。对于描述整个数据框而非特定行的元数据,我使用的是属性。
使用自定义函数,我可以将元数据与实际的 DataFrame 一起传递到元组中。使用 pandas,我可以将它添加到 _metadata 字段并作为 DataFrame 对象的属性。
使用 dask 框架时如何从单独的 pandas.DataFrame 对象收集元数据?
谢谢!
这里有几个潜在的问题:
- Q: 如何将自定义格式的多个文件中的数据加载到单个 dask 数据帧中
A: 你可以查看 dask.delayed
加载数据和 dask.dataframe.from_delayed
转换几个数据 Delayed
对象到一个单一的 dask 数据帧中。或者,正如您现在可能正在做的那样,您可以使用 dask.dataframe.from_pandas
和 dask.dataframe.concat
。请参阅此 example notebook,了解如何使用来自自定义 objects/functions 的 dask.delayed。
Q: 如何将任意元数据存储到 dask.dataframe?
A:不支持。通常我建议尽可能使用不同的数据结构来存储元数据。如果有很多用例,那么我们应该考虑将它添加到 dask dataframe 中。如果是这种情况,请 raise an issue。一般认为,在 dask.dataframe 考虑支持它之前,在 Pandas 中看到对此的更好支持是件好事。
Q: 我在Pandas中大量使用多索引,如何将这个工作流程集成到[=61] =]?
- A: 很遗憾dask.dataframe 目前不支持多索引。这些显然会有所帮助。
TL;DR:如何将分布式读取中的元数据(解析期间的错误)收集到 dask 数据帧集合中。
我目前有一种专有文件格式,我正在使用它来输入 dask.DataFrame。 我有一个接受文件路径和 returns pandas.DataFrame 的函数,dask.DataFrame 在内部使用它成功地将多个文件加载到同一个 dask.DataFrame.
直到最近,我还在使用自己的代码将多个 pandas.DataFrame 合并为一个,现在我正在改用 dask。解析文件格式时,我可能会遇到错误和某些情况,我想记录并与 dask.DataFrame 对象相关联作为元数据(日志、数据来源等)。
重要的是要注意,在合理的情况下,我会大量使用 MultiImdices(13 个索引级别,3 个列级别)。对于描述整个数据框而非特定行的元数据,我使用的是属性。
使用自定义函数,我可以将元数据与实际的 DataFrame 一起传递到元组中。使用 pandas,我可以将它添加到 _metadata 字段并作为 DataFrame 对象的属性。 使用 dask 框架时如何从单独的 pandas.DataFrame 对象收集元数据?
谢谢!
这里有几个潜在的问题:
- Q: 如何将自定义格式的多个文件中的数据加载到单个 dask 数据帧中
A: 你可以查看
dask.delayed
加载数据和dask.dataframe.from_delayed
转换几个数据Delayed
对象到一个单一的 dask 数据帧中。或者,正如您现在可能正在做的那样,您可以使用dask.dataframe.from_pandas
和dask.dataframe.concat
。请参阅此 example notebook,了解如何使用来自自定义 objects/functions 的 dask.delayed。Q: 如何将任意元数据存储到 dask.dataframe?
A:不支持。通常我建议尽可能使用不同的数据结构来存储元数据。如果有很多用例,那么我们应该考虑将它添加到 dask dataframe 中。如果是这种情况,请 raise an issue。一般认为,在 dask.dataframe 考虑支持它之前,在 Pandas 中看到对此的更好支持是件好事。
Q: 我在Pandas中大量使用多索引,如何将这个工作流程集成到[=61] =]?
- A: 很遗憾dask.dataframe 目前不支持多索引。这些显然会有所帮助。