我正在开发一个项目,需要对包含 510,718 个帖子的数据集中的用户名进行匿名化。该数据集包括 19,346 个唯一用户名。我的目标是用占位符替换帖子中所有出现的用户名(例如“USERNAME”)。我尝试了四种不同的 Python 方法来实现此目的,但除了一种方法已完成但执行不完美之外,所有这些方法在我的 MacBook Pro M1 上都慢得令人望而却步。以下是我尝试过的方法的简要概述:
关于一些更好的方法有什么建议吗?
我认为你需要拆分问题,首先尝试看看是否可以通过预处理用户名来赢得一些时间,并尝试使用最优化的方式来解决你的问题:
预处理用户名:将用户名的大小写标准化为小写(或大写,但始终相同)。此步骤通过确保您只需处理每个用户名的单一大小写变化来降低复杂性。
矢量化替换功能n:利用矢量化操作来替换用户名。 Pandas 的
apply
方法由于其本质上类似于循环的行为,在大型数据集上可能效率低下。相反,可能需要更直接的字符串操作技术,可能使用 numpy
来实现更高效的计算。