pandas 如何合并同一个数据框中具有相同索引的行?

hfsqlsce  于 2022-12-16  发布在  其他
关注(0)|答案(2)|浏览(135)

我有一个 Dataframe ,看起来像这样:

A          B           C
1          1234        Win
1          2345        Win
2          1987        Loss
3          3456        Win
3          4567        Win

我希望这变成:

A          B           C
1          1234,2345   Win
2          1987        Loss
3          3456,4567   Win

注意:对于相同的索引,C值始终具有相同的值。
有人能帮忙吗?谢谢!

zzlelutf

zzlelutf1#

您可以在'A'和'C'上执行groupby,因为它们的关系是相同的,请将'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
voj3qocg

voj3qocg2#

您可以使用agg函数。

In[3]:
df.groupby(['A']).agg(lambda col: ','.join(col))

Out[3]:
A   B           C
1   1234,2345   Win,Win   
2   1987        Loss   
3   3456,4567   Win,Win

相关问题