Python 如何按列分组并将agg作为Dask数据帧中另一列的列表?

Python 如何按列分组并将agg作为Dask数据帧中另一列的列表?,python,dataframe,dask,Python,Dataframe,Dask,我有一个Dask数据帧,我想从中按列分组,并将agg作为其他列的列表 e、 g:ddf.groupby('group_id')['name','department'].agg(list) 是否有一种方法可以实现它?以dask的时间序列为例,可以使用以下方法实现列表中的列聚合: import dask import dask.dataframe as dd import pandas as pd df = dask.datasets.timeseries() name_aggr = df.gro

我有一个Dask数据帧,我想从中按列分组,并将agg作为其他列的列表

e、 g:
ddf.groupby('group_id')['name','department'].agg(list)


是否有一种方法可以实现它?

以dask的时间序列为例,可以使用以下方法实现列表中的列聚合:

import dask
import dask.dataframe as dd
import pandas as pd
df = dask.datasets.timeseries()
name_aggr = df.groupby(["id"])['name'].apply(list, meta=pd.DataFrame).compute()

谢谢@rpanai的帮助

以dask的时间序列为例,可以使用以下方法将列聚合到列表中:

import dask
import dask.dataframe as dd
import pandas as pd
df = dask.datasets.timeseries()
name_aggr = df.groupby(["id"])['name'].apply(list, meta=pd.DataFrame).compute()

谢谢@rpanai的帮助

也许不是最优雅的方式你能试试这个吗
ddf.groupby('group_id')['name'].apply(list).compute()
它会引发一个警告,您能否使用时间序列数据集添加一个示例
dask.datasets.timeseries()
@user7440787您得到的警告是哪一个?我可以看到两个:第一个与元数据的缺乏有关,并且可以轻松地修复添加此信息的问题。第二个是未来警告,它与数据集的构建方式有关。这对于
dask是固定的。\uuuu version\uuuu>=1.2.2
@user7440787您可以轻松地修复添加元数据的问题。从
df=dask.datasets.timeseries()
中,您可以使用
df.groupby([“id”])['name'].apply(list,meta=pd.DataFrame.compute()
或`df.groupby([“id”])['name'].apply(list,meta='str').compute()。您应该将其作为答案,以便其他用户更容易找到解决方案。请在这里发表评论,这样我可以投票给你。@rpanai谢谢你的帮助!也许不是最优雅的方式你能试试这个吗
ddf.groupby('group_id')['name'].apply(list).compute()
它会引发一个警告,您能否使用时间序列数据集添加一个示例
dask.datasets.timeseries()
@user7440787您得到的警告是哪一个?我可以看到两个:第一个与元数据的缺乏有关,并且可以轻松地修复添加此信息的问题。第二个是未来警告,它与数据集的构建方式有关。这对于
dask是固定的。\uuuu version\uuuu>=1.2.2
@user7440787您可以轻松地修复添加元数据的问题。从
df=dask.datasets.timeseries()
中,您可以使用
df.groupby([“id”])['name'].apply(list,meta=pd.DataFrame.compute()
或`df.groupby([“id”])['name'].apply(list,meta='str').compute()。您应该将其作为答案,以便其他用户更容易找到解决方案。请在这里发表评论,这样我可以投票给你。@rpanai谢谢你的帮助!