python - 基于python分配用户ID的有效方法
问题描述
我正在尝试根据电子邮件分配用户 ID,我的数据如下所示:
email, date, status
user1@email.com, 28-05-2020, 1
user2@email.com, 28-05-2020, 5
user3@email.com, 29-05-2020, 2
user4@email.com, 30-05-2020, 1
单个用户电子邮件可以在数据框中多次出现,我当然希望每次都用单个用户 ID 替换电子邮件。我目前的做法是:
users = all_data['email']
unique = all_data['email'].unique()
ids = [np.where(unique == user) for user in users]
这工作正常,但需要永远运行大量数据。对于 50 条记录,它轻而易举地运行。对于 500k 记录,我还没有看到它完成。有没有办法可以更有效地做到这一点?
解决方案
国际大学联合会,Series.factorize
df['id'] = df['email'].factorize()[0]
推荐阅读
- jquery - Laravel App 中的 Axios 请求返回 UnexpectedValueException 异常
- vbscript - 如何编写将文件下载到启动文件夹的 VBS 文件
- java - Intellij 中奇怪的 Javadoc 包装
- github - GitHub Pages 正在显示自述文件内容
- python - 加载和编辑用于语法分析的 cfg 文件
- arrays - 对两个索引同步(配对)数组进行排序时,如何维护索引?
- c# - 如何将“Var”数据类型中的项目显示到 ListView 中?
- javascript - 在数组中找到总和等于给定值的最小元素
- java - 正则表达式从响应中获取特定字符串
- amp-html - 点击锚标签无法在 amp 中获取 href 值