gpt4 book ai didi

Python:如何使用列中的列表进行分组

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:11 27 4
gpt4 key购买 nike

我正在处理以下数据框:

   list          orders
[item1, item2] A
[item10, item1] A
[item10, item15] B

当我对订单进行分组时,列表列完全消失了。有没有一种方法可以使用列表进行分组。我的预期结果是:

      list:                        orders:
[item1, item2, item10, item1] A
[item10, item15] B

最佳答案

使用groupby具有用于展平嵌套列表的自定义 lambda 函数:

from  itertools import chain
f = lambda x: list(chain.from_iterable(x))

或者:

f = lambda x: [z for y in x for z in y]

或者:

f = lambda x: np.concatenate(x.values)

df = df.groupby('orders')['list'].apply(f).reset_index()
print (df)
orders list
0 A [item1, item2, item10, item1]
1 B [item10, item15]

如果性能不重要(大数据慢):

df = df.groupby('orders')['list'].sum().reset_index()

关于Python:如何使用列中的列表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54929267/

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