如何将聚合列表拆分为 pandas 中的多个列

How to split aggregated list into multiple columns in pandas

我想为 pandas 数据框中每一行的 'name' 列表中的每个项目创建单独的列。 'name' 列表有 1-10 个项目,我只希望列标题为“1”、“2”、“3”等。

out = dataframe.groupby(by=['location'], as_index=False).agg({'people':'sum', 'name':list})

有没有办法像这样拆分聚合列表?

这是我的原始数据框:

这是我想要的数据框:

这可以通过两个步骤完成,cumcountpivot

out1 = dataframe.groupby('location').agg({'people':'sum'})
out2 = dataframe.assign(key = dataframe.groupby('location').cumcount()).pivot('location', 'key', 'name')
out = out1.join(out2).reset_index()