首页 > 解决方案 > 如何将数据框转换为关于类别的元组列表?

问题描述

我有以下问题。我想根据类别将数据框转换为元组列表。请看下面的简单代码:

data = {'product_id': ['5', '7', '8', '5', '30'], 'id_customer': ['1', '1', '1', '3', '3']}
df = pd.DataFrame.from_dict(data)

#desired output is:
result = [('5', '7', '8'), ('5', '30')]

请问我该怎么做?这个问题对我没有帮助:Convert pandas dataframe into a list of unique tuple

标签: pythonpandas

解决方案


GroupBy.agg与喜欢一起使用tuple

print (df.groupby('id_customer', sort=False)['product_id'].agg(tuple).tolist())
print (df.groupby('id_customer', sort=False)['product_id'].apply(tuple).tolist())

print (list(df.groupby('id_customer', sort=False)['product_id'].agg(tuple)))
print (list(df.groupby('id_customer', sort=False)['product_id'].apply(tuple)))
[('5', '7', '8'), ('5', '30')]

推荐阅读