Python 如何有效地循环此数据帧并使用内置numpy或pandas执行函数?

Python 如何有效地循环此数据帧并使用内置numpy或pandas执行函数?,python,pandas,numpy,machine-learning,sentiment-analysis,Python,Pandas,Numpy,Machine Learning,Sentiment Analysis,我读了前面的文章,注意到pandas应用函数、iterrows和for循环是处理pandas数据帧的非常缓慢和有效的方法 我正在对一些文本数据进行情绪分析,但使用apply会导致内存使用率高,速度慢,如答案所示 如何使用内置numpy或pandas函数实现此功能? 编辑:-该列包含文章文本数据我发现了一种方法,通过使用可以更快地执行此功能 使用默认熊猫应用功能需要9分钟24秒 但通过使用pandarallel,它只需1分钟7秒就完成了操作(使用16名工作人员)。您可以尝试data.merge(d

我读了前面的文章,注意到pandas应用函数、iterrows和for循环是处理pandas数据帧的非常缓慢和有效的方法

我正在对一些文本数据进行情绪分析,但使用apply会导致内存使用率高,速度慢,如答案所示

如何使用内置numpy或pandas函数实现此功能?
编辑:-该列包含文章文本数据

我发现了一种方法,通过使用可以更快地执行此功能

使用默认熊猫应用功能需要9分钟24秒


但通过使用pandarallel,它只需1分钟7秒就完成了操作(使用16名工作人员)。

您可以尝试data.merge(data.article.swifter.apply)。像这样?检查它,它的性能似乎比pandas apply更差,因为在我的案例中,更快的人使用pandas apply,但也使用sample apply,导致额外的开销。
%%time
data.merge(data.essay.apply(lambda s: pd.Series({'neg':sid.polarity_scores(s)['neg'],
                                                 'neu':sid.polarity_scores(s)['neu'],
                                                 'pos':sid.polarity_scores(s)['pos'],
                                                 'compound':sid.polarity_scores(s)['compound']})),
                       left_index=True, right_index=True)