我正在开发一个项目,需要删除包含 510,718 个帖子的数据集中的用户名。该数据集包括 19,346 个唯一用户名。我的目标是用占位符替换帖子中所有出现的用户名(例如“USERNAME”)。我在Python中尝试了四种不同的方法来实现这一点,但这些方法的效率并不令人满意。以下是我尝试过的简要概述:
完整的正则表达式模式:我编译了一个与任何用户名(不区分大小写)匹配的单个正则表达式模式,并使用 pandas.Series.str.replace 来替换出现的情况。这个方法很慢。-
Dask:尝试使用 Dask 并行化操作以更有效地处理大型数据集。尽管进行了并行化,但速度仍然很慢。-
循环中的单个正则表达式模式:我没有使用单个大型正则表达式,而是循环遍历每个用户名,为每个用户名编译一个正则表达式,并逐一替换出现的情况。这也是缓慢且低效的。-
字典替换:最快的方法涉及创建一个字典,以用户名(大写和小写)作为键,“USERNAME”作为值,然后使用 pandas.Series.replace 而不使用正则表达式。此方法完成了,但没有完美删除所有用户名。-
我正在寻找有关使用 Python 删除大型数据集中的用户名的更有效和更准确方法的建议。
具体:
是否有任何库或技术可以更有效地处理此任务?-
考虑到区分大小写和潜在的边缘情况,如何确保准确删除所有用户名?-
在处理大型数据集和执行文本替换时,我应该牢记哪些最佳实践或注意事项?-
任何见解或建议将不胜感激。谢谢!