我试图将共享Pandas Dataframe 中的公共元素的组分组,我的 Dataframe 看起来像这样(我添加了空行,只是为了一些额外的可读性):
ID REG
15 01497
15 01493
19 01706
19 01706-A
78 05710
78 01738
143 01626
143 01634
144 01626
144 01644
207 05255
207 01638
209 05255
209 03143
我希望创建一个新列,在该列中可以查找共享同一REG编号的所有ID,因此它看起来如下所示:
ID REG GROUP
15 01497 1
15 01493 1
19 01706 2
19 01706-A 2
78 05710 3
78 01738 3
143 01626 4
143 01634 4
144 01626 4
144 01644 4
207 05255 5
207 01638 5
209 05255 5
209 03143 5
有一些问题可以解决类似的问题,但它们并不完全相同(可能是Pandas DataFrame Groupby two columns and get counts或How do I find common values within groups in pandas?或Numbering Groups In Pandas DataFrame),但我的目标不是以传统方式执行求和或计数。
2条答案
按热度按时间2mbi3lxu1#
一种方法是将
pandas.Series.duplicated
与pandas.Series.cumcum
一起使用:输出:
e4eetjau2#
假设您有一个ID作为索引的 Dataframe df,请尝试:
如果ID不是索引,则可以使用以下命令将其设置为索引:
或者,如果您不希望更改索引用途:
应该可以