Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 相对于给定列中的重复项,数据帧中具有的新列_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 3.x 相对于给定列中的重复项,数据帧中具有的新列

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”如下

   
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