Python 如何减少for循环创建字典的运行时间

Python 如何减少for循环创建字典的运行时间,python,pandas,dataframe,dictionary,Python,Pandas,Dataframe,Dictionary,我有一个名为full_df的熊猫数据帧。其尺寸为(348204,18)。我正在使用这些数据创建一个字典,如下所示 wx_data = {} key_len = range(count) n = range(len(full_df)) for i in n: #create key key_len = str("%02d" % (full_df["year"][i])) + \ str("%02d" % (full_df["month"][i])) + \ str(

我有一个名为full_df的熊猫数据帧。其尺寸为(348204,18)。我正在使用这些数据创建一个字典,如下所示

wx_data = {}
key_len = range(count)
n = range(len(full_df))
for i in n:
    #create key
    key_len = str("%02d" % (full_df["year"][i])) + \
    str("%02d" % (full_df["month"][i])) + \
    str("%02d" % (full_df["day"][i])) + \
    str("%02d" % (full_df["hour"][i])) + \
    str("%02d" % (full_df["minute"][i]))

    wx_data[key_len] = full_df.iloc[i].values.tolist()
我代码中的for循环非常慢。我怎样才能提高效率? 谢谢

您可以尝试使用:


首先谢谢迪玛。我收到一条错误消息,说没有名为joblib的模块。我正在使用python 2.7。这可能就是为什么。@fede.dica92尝试安装它:
pip install joblib
import pandas as pd
import numpy as np
from joblib import Parallel, delayed

def convert_df(full_df):
    #create key
    key_len = str("%02d" % (full_df["year"])) + \
    str("%02d" % (full_df["month"])) + \
    str("%02d" % (full_df["day"])) + \
    str("%02d" % (full_df["hour"])) + \
    str("%02d" % (full_df["minute"]))

    return key_len, full_df.values.tolist()

wx_data = Parallel(n_jobs=-1)(delayed(convert_df)(row) for _, row in full_df.iterrows())
wx_data = dict(wx_data)