如何用Pandas Groupby分组DataFrame并合并对应列值?
Pandas按分组合并列值的解决方法
首先是你提供的原始DataFrame代码:
import pandas as pd d = {'Location':['Fridge','Fridge','Pantry','Pantry'], 'Food': ['Juice','Ham','Rice','Oil']} df = pd.DataFrame(d)
要实现按Location分组并合并对应Food值的需求,只需要在groupby之后配合agg方法调用字符串拼接函数即可,代码如下:
# 分组并合并Food列的内容 df_grouped = df.groupby('Location')['Food'].agg(', '.join).reset_index()
执行后得到的新DataFrame结果为:
Location Food 0 Fridge Juice, Ham 1 Pantry Rice, Oil
说明
groupby('Location'):按Location列的值进行分组agg(', '.join):对每个分组内的Food列值,用,作为分隔符拼接成单个字符串reset_index():将分组后的索引(即Location值)转换为普通列,让结果保持标准的DataFrame结构
内容的提问来源于stack exchange,提问作者Michael Kessler
相关产品推荐
相关产品推荐

