使用 aCategorical将是一种有效的方法来做到这一点 - 主要的警告是编号将仅基于数据中的排序,因此如果需要在多个列/数据集中使用此编号方案,则需要小心。
df = pd.DataFrame({'ssn': [1, 2, 3, 999, 10, 1]})
df['ssn_anon'] = df['ssn'].astype('category').cat.codes
df
Out[38]:
ssn ssn_anon
0 1 0
1 2 1
2 3 2
3 999 4
4 10 3
5 1 0
Run Code Online (Sandbox Code Playgroud)