我对python和pandas很新。我有以下示例CSV作为输入。
ID Name Activity
1 AB Play
2 AD Hurt
3 cd Polite
4 CA Play
我想将其转换为
ID Name Activity NumActivity
1 AB Play 1
2 AD Hurt 2
3 cd Polite 3
4 CA Play 1
所以基本上,我想给活动列中的字符串赋予数值。
由于我对熊猫很新,我正在接近这个论坛寻求帮助。
感谢,
答案 0 :(得分:0)
您可以使用factorize
:
In [6]:
df['NumActivity'] = pd.factorize(df['Activity'])[0] +1
df
Out[6]:
ID Name Activity NumActivity
0 1 AB Play 1
1 2 AD Hurt 2
2 3 cd Polite 3
3 4 CA Play 1
这里factorize
返回一个包含数组对的元组:
In [8]:
pd.factorize(df['Activity'])
Out[8]:
(array([0, 1, 2, 0]), Index(['Play', 'Hurt', 'Polite'], dtype='object'))
因此,我们使用[0]
索引第一个元素,并查看您希望索引从1
我们+1
开始到值。