【发布时间】:2021-12-15 02:26:52
【问题描述】:
我有一个关于某个平台的用户信息的 SQL 数据库。 数据库有两列:用户名、描述
我还有一个单词/表达式列表(总共大约 200 个单词),我想检查它们是否存在于每个用户的描述中:
words = ['python', 'css', 'html', ...]
我想做的是创建一个新列 - 例如名为“total” - 然后计算列表中每个用户描述中使用的单词/表达式的总数。
换句话说,这就是我想要使用嵌套的 for 循环:
for user in users:
for word in words:
if word in user.description:
user.total += 1
但是,我的数据量很大(5+ 百万用户),我想知道是否有更有效的方法来实现这一目标。我更喜欢用 SQL 来做,不过 Python Pandas 的默认函数也会有帮助。
最终结果应该是这样的:
| username | description | total |
|---|---|---|
| afhkjh | Python Nerd, Swimming | 1 |
| vnjfnn | Conservative, HTML Developer | 1 |
| af5a45 | NA | 0 |
| afkjah | Love working with CSS and HTML | 2 |
【问题讨论】: