Python 3.x 相对于给定列中的重复项,数据帧中具有的新列
嗨,我有一个数据框,列“id”如下Python 3.x 相对于给定列中的重复项,数据帧中具有的新列,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,嗨,我有一个数据框,列“id”如下 id abc def ghi abc abc xyz def 我需要一个新的列“id1”,后面附加一个数字1,并且每重复一次,这个数字都应该递增。输出应如下所示 id id1 abc abc1 def def1 ghi ghi1 abc abc2 abc abc3 xyz xyz1 def def2 有人能给我一个解决方案吗?用于计数ids,添加1并转换为strings: df['id1'] = df['
id
abc
def
ghi
abc
abc
xyz
def
我需要一个新的列“id1”,后面附加一个数字1,并且每重复一次,这个数字都应该递增。输出应如下所示
id id1
abc abc1
def def1
ghi ghi1
abc abc2
abc abc3
xyz xyz1
def def2
有人能给我一个解决方案吗?用于计数id
s,添加1
并转换为string
s:
df['id1'] = df['id'] + df.groupby('id').cumcount().add(1).astype(str)
print (df)
id id1
0 abc abc1
1 def def1
2 ghi ghi1
3 abc abc2
4 abc abc3
5 xyz xyz1
6 def def2
详细信息:
print (df.groupby('id').cumcount())
0 0
1 0
2 0
3 1
4 2
5 0
6 1
dtype: int64
你能把你试过东西的地方的代码显示出来吗?@HarvIpan,我不知道该怎么做OP希望
id
成为id1
。