我有以下数据框:
import pandas as pd
df = pd.DataFrame(dict(NoMatter=list(range(6)), Value=['a','b',7,7,'b','b']))
print(df)
NoMatter Value
0 0 a
1 1 b
2 2 7
3 3 7
4 4 b
5 5 b
我想修改“值”列,例如它包含旧值所不同的整数。因此,在这里,我希望用1代替每个a,用2代替每个b,用3代替每个7。
预期结果:
NoMatter Value
0 0 1
1 1 2
2 2 3
3 3 3
4 4 2
5 5 2
我该怎么办?
使用factorize
:
factorize
df['Value'] = pd.factorize(df['Value'])[0] + 1
print (df)
NoMatter Value
0 0 1
1 1 2
2 2 3
3 3 3
4 4 2
5 5 2