根据行ID创建URN

时间:2020-03-03 13:32:20

标签: python-3.x pandas

我有一个熊猫数据集,其中的行具有相同的站点ID。我想为每一行创建一个新的ID。目前,我有这样的df:

SiteID  SomeData1 SomeData2
100001   20        30
100001   20        30
100002   30        40

我希望实现以下输出

输出:

SiteID  SomeData1 SomeData2 Site_ID2
100001   20        30        1000011
100001   20        30        1000012
100002   30        40        1000021

实现此目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

GroupBy.cumcount的帮助者Series添加到列SiteID的字符串中:

s = df.groupby(['SomeData1','SomeData2']).cumcount().add(1)
df['Site_ID2'] = df['SiteID'].astype(str).add(s.astype(str))
print (df)
   SiteID  SomeData1  SomeData2 Site_ID2
0  100001         20         30  1000011
1  100001         20         30  1000012
2  100002         30         40  1000021