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

标签 python pandas numpy machine-learning sentiment-analysis

我读到this之前的文章,注意到 pandas apply 函数、iterrows 和 for 循环是处理 pandas 数据帧的非常慢但有效的方法。

我正在对一些文本数据进行情感分析,但使用 apply 会导致内存使用率较高且速度较低,类似于this中所示回答。

%%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)

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

最佳答案

我找到了一种更快地执行此功能的方法,即使用 pandarallel .

使用默认的 pandas apply 函数花了 9 分 24 秒,

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

关于python - 如何有效地循环此数据帧并使用内置的 numpy 或 pandas 执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59624552/

相关文章:

python - Tornado celery 集成黑客

python - 如何在 Python 的 Mako 模板中迭代时跟踪状态

indexing - pandas-如何访问 Pandas 中的细胞,相当于R中的df [3,4]

python - dict.get() 方法返回一个指针

python - TensorFlow FixLengthRecordReader 占位符数据类型错误

python - Pandas .p​​lot() 方法不会采用条形图中指定的颜色

python - 从 DataFrame、Pandas、Python 创建字典

python - 如果切片不能解决内存错误,如何合并两个大的 numpy 数组?

python - 为什么我可以在 Python 中访问看似任意的内存地址?

python - 在 matplotlib contour-plot 中手动设置标签错误