首页 > 解决方案 > 在熊猫数据框中汇总行?

问题描述

抱歉,如果这是一个重复的问题,但我一直在努力寻找一个现有的线程来解决我的问题。

我正在使用一个看起来像这样的数据集

df = pd.DataFrame(data={"product":["crisps", "crisps", "crisps",
                                   "bread", "bread", "bread",
                                   "pasta","pasta"], 
                   "ingredients": ["potato", "oil", "salt", 
                                   "flour", "salt", "water", 
                                   "flour", "eggs"]})

原始数据集格式:
原始数据集格式

但我需要这种格式的数据集

汇总数据集:
汇总数据集

我知道这可以使用 SQL 查询来完成,但是有没有办法在 python/pandas 中做到这一点?我正在使用的实际数据集包含超过 100,000 种不同的食品,因此该解决方案需要具有可扩展性。

绝对任何建议将不胜感激!

标签: pythonpandasdataframerollup

解决方案


尝试:

df.groupby('product', as_index=False)[['ingredients']].agg(list)

输出:

  product           ingredients
0   bread  [flour, salt, water]
1  crisps   [potato, oil, salt]
2   pasta         [flour, eggs]

推荐阅读