python - 根据 pandas DataFrame 中的组将字符串组合到列中

标签 python pandas dataframe group-by

我有一个 Pandas DataFrame,DF:

<表类=“s-表”> <标题> A 列 B 列 C 列 <正文> 苹果 红色 德克萨斯州 苹果 红色 加利福尼亚州 香蕉 黄色 印第安纳州 香蕉 黄色 佛罗里达州

我想以以下形式将其放入字典中:

{ "Apple red" : ['Texas', 'California'], "Banana yellow" : ['Indiana', 'Florida'] }

其中 Key = A 列和 B 列(和)中的字符串串联

值 = 列表中 C 列(基于 groupby)的所有对应字符串。

我不知道如何实现这一目标。

重要说明:如果字典的键要分组的列超过 3 列,它也应该有效

最佳答案

尝试:

x = dict(
    df.groupby(df["Column A"] + " " + df["Column B"])["Column C"].agg(list)
)

print(x)

打印:

{'Apple red': ['Texas', 'California'], 'Banana yellow': ['Indiana', 'Florida']}

关于python - 根据 pandas DataFrame 中的组将字符串组合到列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74200986/

相关文章:

python - Plotly Express 散点图不会绘制 x 变量的完整范围

python - 如何联合更新两个数据帧?

python - 如何在 Pandas 数据框中移动日期(添加 x 个月)?

r - R 中是否有一种有效的方法对数据帧中的多列进行分组和计算?

python - 使用 sort_index() 时的关键函数

python - 在 Django 中使用 Pylint

python Flask render_template html 未正确渲染

python - 柯里化(Currying) lambda 表达式如何工作?

python - 在 Pandas 中分隔和堆叠列(Python 3.4)

python - 如何将行名称添加到pandas数据框中的单元格?