python - 将列值连接到 Pandas 中的行值

标签 python pandas dataframe

我有一个如下所示的数据框 - 两列都是字符串,ValCol 是一串以逗号分隔的整数。该索引是一个没有意义的通用整数索引。

NameCol    ValCol
Name1      555, 333
Name2      433
Name1      999
Name3      123
Name2      533

什么是最好的聚合方式

NameCol    ValCol
Name1      555, 333, 999
Name2      433, 533
Name3      123

我不关心逗号分隔整数的顺序,但我确实需要在它们之间保留逗号。它可能是一个非常小的数据框,<100 条记录,因此效率并不重要。

我觉得应该有一些 groupby 方法来解决这个问题,但我还没有弄清楚。

最佳答案

使用 groupby 方法:

df = df.groupby('NameCol')['ValCol'].apply(', '.join).reset_index()

结果输出:

  NameCol         ValCol
0   Name1  555, 333, 999
1   Name2       433, 533
2   Name3            123

关于python - 将列值连接到 Pandas 中的行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39277163/

相关文章:

python - Sklearn预测函数

python - 如何在新选项卡中打开网站内的每个产品,以便通过 Python 使用 Selenium 进行抓取

python - 如何防止 INPAINTING block 并改善着色

python - 通过另一列的分组值的总和来规范化 Pandas 数据框中的列

python - 浏览并选择 2 个数据框

python - tensorflow 服务是否适用于多个输入(或输出)?

python - 用整数值索引 pandas 系列

python - Pandas DataFrame 到以元组为键和值的字典

r - row.names() 和 attributes$row.names 有什么区别?

python - Groupby 和基于特定行值的计算