這是你想要的嗎?
In [5]: df['id'] = pd.factorize(df.Name)[0]
In [6]: df
Out[6]:
Name ARowss TotalRowss Percentage id
0 motors 11 11 100 0
1 trck1 2 2 100 1
2 trck2 2 2 100 2
3 hydr1 4 4 100 3
4 gas1 2 2 100 4
或這,這取決於你的目標:
In [10]: df.Name = pd.factorize(df.Name)[0] + 1
In [11]: df
Out[11]:
Name ARowss TotalRowss Percentage
0 1 11 11 100
1 2 2 2 100
2 3 2 2 100
3 4 4 4 100
4 5 2 2 100
它還將非唯一值的工作:
In [15]: df
Out[15]:
Name ARowss TotalRowss Percentage
0 motors 11 11 100
1 trck1 2 2 100
2 trck2 2 2 100
3 hydr1 4 4 100
4 gas1 2 2 100 # duplicates in `Name`
5 gas1 2 3 111 #
In [16]: df.Name = pd.factorize(df.Name)[0] + 1
In [17]: df
Out[17]:
Name ARowss TotalRowss Percentage
0 1 11 11 100
1 2 2 2 100
2 3 2 2 100
3 4 4 4 100
4 5 2 2 100 #
5 5 2 3 111 #