我有一个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实现这一目标的最佳方法是什么?
发布于 2020-03-03 21:34:33
将由GroupBy.cumcount转换为字符串的helper 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 1000021https://stackoverflow.com/questions/60508422
复制相似问题