Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 要为重复的行分配id吗_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 要为重复的行分配id吗

Python 3.x 要为重复的行分配id吗,python-3.x,pandas,Python 3.x,Pandas,想要这样吗 id name age year 0 khu 12 2018 1 she 21 2019 2 waqar 22 2015 3 khu 12 2018 4 she 21 2018 5 waqar 22 2015 使用: 使用: 也可以使用factorize检查category和c

想要这样吗

id    name     age      year

0     khu       12      2018

1     she       21      2019

2     waqar     22      2015

3     khu       12      2018

4     she       21      2018

5     waqar     22      2015
使用:

使用:


也可以使用
factorize
检查
category
cat.code
,或
sklearn
LabelEncoder

df['id'] = df.groupby('name', sort=False).ngroup()
#if need grouping by multiple columns for check duplicates
#df['id'] = df.groupby(['name','age'], sort=False).ngroup()
print (df)
   id   name  age  year
0   0    khu   12  2018
1   1    she   21  2019
2   2  waqar   22  2015
3   0    khu   12  2018
4   1    she   21  2018
5   2  waqar   22  2015

也可以使用
factorize
检查
category
cat.code
,或
sklearn
LabelEncoder

df['id'] = df.groupby('name', sort=False).ngroup()
#if need grouping by multiple columns for check duplicates
#df['id'] = df.groupby(['name','age'], sort=False).ngroup()
print (df)
   id   name  age  year
0   0    khu   12  2018
1   1    she   21  2019
2   2  waqar   22  2015
3   0    khu   12  2018
4   1    she   21  2018
5   2  waqar   22  2015

请解释您想要做什么,您尝试过做什么,以及您如何失败/发生任何错误。如果姓名年龄和年份行有相同的记录,则与上例中的相同id,请解释您想要做什么,您尝试执行的操作以及失败的原因/发生的任何错误。如果姓名年龄行和年份行具有相同的记录,则与上例中的相同id感谢您向我介绍
ngroup()
@KHURRAM可能被添加和删除?因为勾号是空的,不是绿色的。谢谢你给我介绍
ngroup()
@KHURRAM可能被添加和删除?因为勾号是空的,不是绿色的。
df['id']=pd.factorize(df['name'])[0]
df
Out[470]: 
   id   name  age  year
0   0    khu   12  2018
1   1    she   21  2019
2   2  waqar   22  2015
3   0    khu   12  2018
4   1    she   21  2018
5   2  waqar   22  2015