gpt4 book ai didi

python - 使用 Pandas groupby 如何使用加法聚合一列列表?

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:53 28 4
gpt4 key购买 nike

我有一个数据框,其中有一列包含值列表。数据框中的每一行都有一个相同长度的列表。我想使用 Dataframe.groupby 对数据框中的数据进行分组,并按以下方式将列表汇总在一起:

在:

import pandas as pd

#Sample data
a = pd.DataFrame([['a', 'test', list([0,1,2,3,4])],['b', 'test', list([5,6,7,8,9])]], columns=['id', 'grp', 'values'])
print(a)

#Some function to group the dataframe
#b = a.groupby('grp').someAggregationFunction()

#Example of desired output
b = pd.DataFrame([['test', list([5,7,9,11,13])]], columns=['grp', 'values'])
print(b)

输出:

  id   grp           values
0 a test [0, 1, 2, 3, 4]
1 b test [5, 6, 7, 8, 9]

grp values
0 test [5, 7, 9, 11, 13]

最佳答案

您可能不喜欢这个答案,但最好不要在数据框中使用列表。您应该尽可能使用数字系列来表示数字数据:

res = df.join(pd.DataFrame(df.pop('values').tolist()))\
.groupby('grp').sum().reset_index()

print(res)

grp 0 1 2 3 4
0 test 5 7 9 11 13

关于python - 使用 Pandas groupby 如何使用加法聚合一列列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52175650/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com