gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:41:28 26 4
gpt4 key购买 nike

我有一个名为 full_df 的 pandas 数据框。它的维度为 (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 :

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)

关于python - 如何减少 for 循环创建字典的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59437519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com