尝试分组数据并将它们写到文件中
Trying to group out data and write them out to files
我想知道是否有人知道在 Dask 中根据列的值写出一组文件的正确方法。换句话说,如果我想根据列中的值对一堆列进行分组并将它们写到 CSV 中。我一直在尝试将 groupby-apply 范例与 Dask 一起使用,但问题是它没有 return 一个 dask.dataframe 对象,所以我应用它的函数使用 Pandas API.
有没有更好的方法来处理我正在尝试做的事情?可扩展的解决方案将不胜感激,因为我正在处理的一些数据非常大。
谢谢!
如果您要保存到镶木地板,那么 partition_on
kwarg 会很有用。如果您要保存到 csv,则可以使用(粗略的伪代码)做类似的事情:
def save_partition(df, partition_info=None):
for group_label, group_df in df.groupby('some_col'):
csv_name = f"{group_label}_partition_{partition_info['number']}.csv"
group_df.to_csv(csv_name)
delayed_save = ddf.map_partitions(save_partition)
然后可以在方便的时候计算delayed_save
。
我想知道是否有人知道在 Dask 中根据列的值写出一组文件的正确方法。换句话说,如果我想根据列中的值对一堆列进行分组并将它们写到 CSV 中。我一直在尝试将 groupby-apply 范例与 Dask 一起使用,但问题是它没有 return 一个 dask.dataframe 对象,所以我应用它的函数使用 Pandas API.
有没有更好的方法来处理我正在尝试做的事情?可扩展的解决方案将不胜感激,因为我正在处理的一些数据非常大。
谢谢!
如果您要保存到镶木地板,那么 partition_on
kwarg 会很有用。如果您要保存到 csv,则可以使用(粗略的伪代码)做类似的事情:
def save_partition(df, partition_info=None):
for group_label, group_df in df.groupby('some_col'):
csv_name = f"{group_label}_partition_{partition_info['number']}.csv"
group_df.to_csv(csv_name)
delayed_save = ddf.map_partitions(save_partition)
然后可以在方便的时候计算delayed_save
。