首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中,有没有更快的替代更好的亵渎0.7.0的方法?

在python中,有没有更快的替代更好的亵渎0.7.0的方法?
EN

Stack Overflow用户
提问于 2022-09-07 04:38:28
回答 1查看 81关注 0票数 1

我在Google中使用它在dataframe中创建一个单独的列,检查'Text‘列是否包含一个诅咒词。数据帧有100多万行,使用此代码将花费大约5天的时间,每1000行采样需要6分钟。有没有更有效的替代方案?也许用深度学习?

代码语言:javascript
复制
import language_tool_python
tool = language_tool_python.LanguageTool('en-US')
from better_profanity import profanity
profanity.load_censor_words()

profanity_col = []
for x in df.Text.values:
  matches = tool.check(x)
  bad_words = profanity.contains_profanity(x)
  if bad_words == True:
    profanity_col.append(int(1))
  elif bad_words == False:
    profanity_col.append(int(0))

df = df.assign(profanity=pd.Series(profanity_col).values)
print(df[['profanity']].value_counts())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-07 04:53:47

这应该运行得更快,并消除了许多不必要的代码和不必要的解构一个非常好的DataFrame。

代码语言:javascript
复制
df['profanity'] = df.Text.apply(profanity.contains_profanity).astype(int)

虽然Google不是一个选项,因为我相信您仅限于一个核心,但使用pandarallel可以显著加快速度

代码语言:javascript
复制
from pandarallel import pandarallel
pandarallel.initialize()

df['profanity'] = df.Text.parallel_apply(profanity.contains_profanity).astype(int)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73630207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档