我有一个评论数据库,并想在我的数据库中创建一个新字段,指示评论是否包含与“池”相关的单词。
import re
import pandas as pd
from pymongo import MongoClient
client = MongoClient()
db = client.Hotels_Copenhagen
collection = db.get_collection("hotel_review_table")
data = pd.DataFrame(list(collection.find()))
def common_member(a, b):
a_set = set(a)
b_set = set(b)
if a_set & b_set:
return True
else:
return False
pool_set = {"pool","swim","swimming"}
for single_review in data.review_text:
make_it_lowercase = str(single_review).lower()
tokenize_it = re.split("\s|\.|,", make_it_lowercase)
pool_mentioned = common_member(tokenize_it, pool_set)
db.hotel_review_table.update_one({}, {"$set":{"pool_mentioned": pool_mentioned}})
在 python 中,我已经统计了包含与“pool”相关的单词的评论数量,结果发现我的评论中有 1k/50k 谈论的是 pool。
我通过将 db.hotel_review_table.update_one 行移动到循环中解决了之前发布的在各处获取相同条目的问题。
这样主要问题就解决了。然而,像这样更新数据库需要相当长的时间。还有其他方法可以让它更快吗?
德玛西亚99
相关分类