为数据科学目的加速 Python 代码的方法

数据挖掘 Python 效率 可扩展性
2022-03-11 06:55:33

虽然这听起来像是一个纯粹的技术问题,但我想知道您通常会尝试哪些方式,对于非常类似于数据科学的流程,当您需要加快流程时(假设数据检索不是问题并且它也适合内存等)。其中一些可能是以下内容,但我希望收到有关其他任何内容的反馈:

  • 好的做法是尽可能在数字运算而不是循环上使用 Numpy...
  • 在将函数应用于列表、数据框等的元素时,使用“apply”、“applymap”...而不是循环等更多好的做法
  • Numba应用于原生 python 循环、numpy 数组......
  • 使用多处理库进行多处理,具体取决于可用的逻辑内核

这是因为,如果我们主要使用 Python 的所有优点,我们不想切换到其他语言,如 Scala 或 Julia,除非别无选择。

1个回答

我非常关心的事情:

  • 列表推导而不是循环

  • 强制在 pandas 数据帧上迭代操作时使用 apply + lambda 函数

  • 在 TensorFlow 函数之上使用@tf.function装饰器来加速计算

  • 从数据库导入数据时尽可能多地使用 SQL,以避免在 Python 中做同样的事情