如何提高python循环的速度?

如何提高python循环的速度?,python,Python,我需要根据不同的场景分析一个大的数据帧,如果可能的话,我正在寻找一种方法来(轻松地)加速这个过程 本质上我的代码是这样的(非常非常简单) 由于场景的数量,它需要很长时间才能运行。每个场景都独立于其他场景。有没有办法提高速度?比如让python能够同时使用多个核心/分析多个场景,或者其他什么 我看了一下多处理模块,但不明白如何应用它。我对Python非常陌生,所以我可能缺少一些基本的东西 ****编辑**:更新的代码示例,希望它更容易理解我要实现的目标。由于系统上需要的传感器数量和计算,实际代码要

我需要根据不同的场景分析一个大的数据帧,如果可能的话,我正在寻找一种方法来(轻松地)加速这个过程

本质上我的代码是这样的(非常非常简单)

由于场景的数量,它需要很长时间才能运行。每个场景都独立于其他场景。有没有办法提高速度?比如让python能够同时使用多个核心/分析多个场景,或者其他什么

我看了一下多处理模块,但不明白如何应用它。我对Python非常陌生,所以我可能缺少一些基本的东西


****编辑**:更新的代码示例,希望它更容易理解我要实现的目标。由于系统上需要的传感器数量和计算,实际代码要长得多,而且一个月内每分钟都有数据。

有两件事可以处理:

首先,矢量化:使用numpy库进行循环乘法/加法和其他数学运算。这将使您的时间减少1000倍(可能会更大)


您可以处理的另一个领域是相互独立的数据并行处理。请参阅多线程和多处理的文档

请提供您的代码的实际工作示例。您希望的输出是什么?请提供一个多处理
可能是一个解决方案,但这取决于您的实际问题以及它的可简化程度。我们需要更多的信息才能确定。您最后一次迭代的
y
将在第一次
x
独立于
df
时将
df
设置为
99
→ <代码>测向=(测向*0)+99
。所以我们可以从这里开始。@Gahan多线程在Python(cf)中没有什么帮助-这里正确的解决方案可能是以某种方式进行多处理。
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=list('ABCD'))

dict_x = {}
for x in range(0, 10):
    dict_y = {}
    for y in range(0, 10):
        for i in range(0, len(df)):
            df.loc[i, 'E'] = ((df.loc[i, 'A'] * df.loc[i, 'B']) * x) + y
        dict_y[y] = df
    dict_x[x] = dict_y