我想为用户生成一个基于整数的唯一 ID(在我的 df 中)。
假设我有:
index first last dob
0 peter jones 20000101
1 john doe 19870105
2 adam smith 19441212
3 john doe 19870105
4 jenny fast 19640822
我想生成一个 ID 列,如下所示:
index first last dob id
0 peter jones 20000101 1244821450
1 john doe 19870105 1742118427
2 adam smith 19441212 1841181386
3 john doe 19870105 1742118427
4 jenny fast 19640822 1687411973
10 位数字 ID,但它基于字段的值(约翰·多伊相同的行值获得相同的 ID)。
我研究了哈希、加密、UUID,但找不到与这个特定的非安全用例有太多相关的内容。它只是生成一个内部标识符。
- 我不能使用 groupby/cat 代码类型方法,以防
行发生变化。
- 数据集的增长不会超过 50k 行。
- 可以肯定地假设不会有第一个、最后一个重复。
感觉我可能以错误的方式解决这个问题,因为我找不到太多关于它的文献!
Thanks
您可以尝试使用哈希函数。
df['id'] = df[['first', 'last']].sum(axis=1).map(hash)
请注意,哈希 ID 大于 10 位数字,并且是唯一的整数序列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)