如何在单个数据框架上合并具有相同索引的行?

Chi*_*ion 7 python pandas

我有一个如下所示的数据框:

A          B           C
1          1234        Win
1          2345        Win
2          1987        Loss
3          3456        Win
3          4567        Win
Run Code Online (Sandbox Code Playgroud)

我希望这成为:

A          B           C
1          1234,2345   Win
2          1987        Loss
3          3456,4567   Win
Run Code Online (Sandbox Code Playgroud)

注意:C值对于同一索引始终具有相同的值.

有人可以帮忙吗?谢谢!

EdC*_*ica 13

您可以groupby在"A"和"C"上看到他们的关系是相同的,将"B"列转换为str并join使用逗号:

In [23]:
df.groupby(['A','C'])['B'].apply(lambda x: ','.join(x.astype(str))).reset_index()

Out[23]:
   A     C          B
0  1   Win  1234,2345
1  2  Loss       1987
2  3   Win  3456,4567
Run Code Online (Sandbox Code Playgroud)

  • @lil-wolf 你应该发布一个带有完整示例的新问题,因为在评论中回答问题不是一个好主意 (3认同)
  • 如果我有 10 多个列(具有相似的值)而不仅仅是 A 和 B,该怎么办?我该怎么做? (2认同)