iterrows 的矢量化替代方案:语义分析

     2023-02-24     200

关键词:

【中文标题】iterrows 的矢量化替代方案:语义分析【英文标题】:Vectorized alternative to iterrows : Semantic Analysis 【发布时间】:2021-08-09 10:14:45 【问题描述】:

您好,我目前正在进行语义推文分析,并希望使用 Numpy Vectorization 提高我的代码运行时间。

我曾尝试增强我的代码一段时间,但没有成功。 我可以将循环迭代中的公式输入到函数中并通过 Numpy.vectorize 应用它吗?

ss = SentimentIntensityAnalyzer()

for index, row in tw_list["full_text"].iteritems():
    score = ss.polarity_scores(row)
    neg = score["neg"]
    neu = score["neu"]
    pos = score["pos"]
    comp = score["compound"]
    if neg > pos:
        tw_list.loc[index, "sentiment"] = "negative"
    elif pos > neg:
        tw_list.loc[index, "sentiment"] = "positive"
    else:
        tw_list.loc[index, "sentiment"] = "neutral"
        tw_list.loc[index, "neg"] = neg
        tw_list.loc[index, "neu"] = neu
        tw_list.loc[index, "pos"] = pos
        tw_list.loc[index, "compound"] = comp

【问题讨论】:

Afaik,矢量化不会提高代码速度,因为它是一种伪装的 for 循环。 【参考方案1】:

您可以使用 apply 函数,而不是遍历数据框中的行。

def get_sentiments(text):
    score = ss.polarity_scores(text)
    neg = score["neg"]
    neu = score["neu"]
    pos = score["pos"]
    comp = score["compound"]
    if neg > pos:
        sentiment = "negative"
    elif pos > neg:
        sentiment = "positive"
    else:
        sentiment = "neutral"
    return sentiment,neg,neu,pos,comp
    
tw_list[["sentiment","neg","neu","pos","comp"]] = tw_list["full_text"].apply(get_sentiments,result_type='broadcast')

这应该会提高性能

【讨论】:

如何遍历带有条件的 Pandas 数据框? (对 iterrows/for 循环/向量化的混淆)

】如何遍历带有条件的Pandas数据框?(对iterrows/for循环/向量化的混淆)【英文标题】:HowdoIiteratethroughaPandasdataframewithconditions?(confusionoveriterrows/forloops/vectorization)【发布时间】:2021-10-0418:56:04【问题描述】:我有一个数据集,我... 查看详情

DELETE 请求正文的 RESTful 替代方案

】DELETE请求正文的RESTful替代方案【英文标题】:RESTfulAlternativestoDELETERequestBody【发布时间】:2012-12-2817:22:39【问题描述】:虽然HTTP1.1spec似乎允许DELETE请求的消息正文,但它似乎表明服务器应该忽略它,因为它没有定义的语义。4... 查看详情

pandas优化(代码片段)

...的循环操作使用itertuples()和iterrows()循环Pandas的.apply()方法矢量化操作:使用.isin()选择数据还可以做的更好吗?使用Numpy继续加速使用HDFStore防止重新处理结论前言当大家谈到数据分析时,提及最多的语言就是Python和SQL。Python之所... 查看详情

朴素贝叶斯算法的替代方案

】朴素贝叶斯算法的替代方案【英文标题】:AlternativestoNaiveBayesalgorithm【发布时间】:2012-09-2311:49:02【问题描述】:我们正在尝试实施一种语义搜索算法,以根据用户的搜索词给出建议的类别。目前我们已经实现了朴素贝叶斯概... 查看详情

有没有办法在 COUNT 聚合分析函数中使用 ORDER BY 子句?如果不是,啥是合适的替代方案?

...NT聚合分析函数中使用ORDERBY子句?如果不是,啥是合适的替代方案?【英文标题】:IsthereawaytouseORDERBYclauseinCOUNTaggregateanalyticfunction?Ifnot,whatisasuitablealternative?有没有办法在COUNT聚合分析函数中使用ORDERBY子句?如果不是,什么是合... 查看详情

DecimalFormat.format() 的更快替代方案?

】DecimalFormat.format()的更快替代方案?【英文标题】:AfasteralternativetoDecimalFormat.format()?【发布时间】:2012-01-2303:08:55【问题描述】:为了提高其性能,我一直在使用VisualVM采样器分析我的一个应用程序,使用20毫秒的最小采样周期... 查看详情

如何根据提交历史自动检测下一个 semver 版本? (提交分析器的 CLI 替代方案)

...据提交历史自动检测下一个semver版本?(提交分析器的CLI替代方案)【英文标题】:Howtodetectthenextsemverversionautomatically,basedonthecommithistory?(CLIalternativetocommit-analyzer)【发布时间】:2019-02-1108:25:45【问题描述】:我们有一个自定义脚... 查看详情

可用于对文本进行语义分析的工具

...如财务娱乐技术商务艺术等等……【问题讨论】:【参考方案1】:如果您有一堆已经分类的示例,您可以使用这些示例来训练分类器。这是一个非常简单的文档分类问题,任 查看详情

是否存在“SendKeys”的快速且可预测的替代方案?

】是否存在“SendKeys”的快速且可预测的替代方案?【英文标题】:Doesafastandpredictablealternativeto`SendKeys`exist?【发布时间】:2015-03-2501:29:19【问题描述】:我正在尝试为在线游戏编写一个AI,它的工作原理是抓取游戏区域的屏幕区... 查看详情

setup.py 的替代方案

】setup.py的替代方案【英文标题】:analternativetosetup.py【发布时间】:2015-07-1216:58:09【问题描述】:setup.py有一个重大问题:无法安全解析这会导致很多问题——无法安全分析,从PyPI读取100k+包需要太多开销,源包无法自动转换为... 查看详情

编译原理—语义分析语法制导翻译翻译模式中间代码生成

...代码产生的场景说明语句的翻译举例嵌套说明语句的翻译方案相关定义举例过程嵌套声明记录的说明记录说明的翻译记录域的偏移举例赋值语句的翻译含简单变量的赋值语句的翻译举例数组元素的翻译数组类型的声明数组元素的... 查看详情

SQLAlchemy ORM 重构器的替代方案

】SQLAlchemyORM重构器的替代方案【英文标题】:AlternativetoSQLAlchemyORMreconstructor【发布时间】:2017-03-1505:11:35【问题描述】:我目前正在使用Python(3.6)开发一个小应用程序,该应用程序能够处理股票投资组合,并对其进行一些财务分... 查看详情

在 MATLAB 中保存图像的更快替代方案? [复制]

】在MATLAB中保存图像的更快替代方案?[复制]【英文标题】:FasteralternativeforsavingimagesinMATLAB?[duplicate]【发布时间】:2014-08-0822:06:07【问题描述】:我有一个大约1600行的程序,它读取图像(tiff或raw),执行一大堆不同的数学和统... 查看详情

我可以在 iOS 上进行这种代码向量化,还都有哪些替代方法?

...述】:我遇到了一个有趣的blogpost,他在谈论某种通过“矢量化代码”加快处理速度的精湛技术。很科学。他正在使用一种名为SS 查看详情

使用矢量图替代图片

使用矢量图替代图片。对于绝大多数图案、图标等,矢量图更小,且可缩放而无需生成多套图。现在主流浏览器都支持SVG了,所以可放心使用!网站:http://www.fontawesome.com.cn/faicons/第一步:复制font-awesome目录到你的项目中第二部... 查看详情

损坏的 PL/ruby 的替代方案:转换仓库日志表

】损坏的PL/ruby的替代方案:转换仓库日志表【英文标题】:AlternativestobrokenPL/ruby:convertawarehousejournaltable【发布时间】:2016-04-1401:12:03【问题描述】:升级Postgres8.4->9.3和Ruby1.8->2.1后,PL/ruby无法运行。在第一次执行任何PL/ruby... 查看详情

搜索nlp行业模型和轻量化客户定制

简介:开放搜索NLP行业模型和轻量化客户定制方案,解决减少客户标注成本、完全无标注或少量简单标注的等问题,让搜索领域扩展更易用。特邀嘉宾:徐光伟(昆卡)--阿里巴巴算法专家搜索NLP算法搜索... 查看详情

nlp第十篇-语义分析

...据。其基本思路是将两个自然词汇合并,创建一个伪词来替代 查看详情