python - 在熊猫数据框中汇总行?
问题描述
抱歉,如果这是一个重复的问题,但我一直在努力寻找一个现有的线程来解决我的问题。
我正在使用一个看起来像这样的数据集
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 种不同的食品,因此该解决方案需要具有可扩展性。
绝对任何建议将不胜感激!
解决方案
尝试:
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]