gpt4 book ai didi

python - 如何使用数据框列中的唯一值创建列表列表?

转载 作者:太空宇宙 更新时间:2023-11-04 09:22:59 25 4
gpt4 key购买 nike

我有一个如下所示的数据框,其中一张票有多个与之关联的项目。

| ticket_no | items |
|-----------|-------|
| 1 | Item1 |
| 1 | Item2 |
| 2 | Item3 |
| 2 | Item4 |
| 3 | Item5 |
| 3 | Item6 |
| 3 | Item7 |
| 3 | Item8 |

需要输出如下。

[[Item1, Item2],[Item3, Item4], [Item5, Item6, Item7, Item8]]

我试过下面的代码。它有效,但速度非常慢。

data = pd.read_csv('data.csv')
item_list = []
for ticket_no in data['ticket_no'].unique():
temp_data = list(data[data['ticket_no'] == ticket_no]['items'])
if len(temp_data) == 1:
pass
else:
item_list.append(temp_data)

有没有更快的方法?

最佳答案

使用DataFrame.groupby使用 listSeries 然后将其转换为 list - 输出是嵌套列表:

item_list = data.groupby('ticket_no')['items'].apply(list).tolist()
print (item_list)
[['Item1', 'Item2'], ['Item3', 'Item4'], ['Item5', 'Item6', 'Item7', 'Item8']]

关于python - 如何使用数据框列中的唯一值创建列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59151743/

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