在我们使用 Pandas 的代码中的许多地方,我们都有一些 Python 函数process(row)
。该函数被使用DataFrame.iterrows()
,获取每个row
,并进行一些处理,并返回一个值,我们最终将其收集到一个新的Series
中。
我意识到这种使用模式绕过了 numpy / Pandas 堆栈的大部分性能优势。
- 使这种使用模式尽可能高效的最佳方法是什么?
- 我们可以在不重写大部分代码的情况下做到这一点吗?
这个问题的另一个方面:所有这些函数都可以转换为 numpy-efficient 表示吗?关于 numpy / scipy / Pandas 堆栈,我还有很多东西要学习,但似乎对于真正的任意逻辑,您有时可能只需要使用像上面那样的慢速纯 Python 架构。是这样吗?