我有一个5000本字典的列表,每个字典大约有40个条目,我构建了一个for循环,速度非常慢--它需要几分钟时间。
# symbol_list_final is the list of dictionaries
symbols_dataframe = pd.DataFrame([symbols_list_final[0]])
for i in range(len(symbols_list_final) - 1):
symbol_df_temp = pd.DataFrame([symbols_list_final[i + 1]])
symbols_dataframe = pd.concat((symbols_dataframe, symbol_df_temp), axis=1)
print(i)有什么办法可以更快地做到吗?
编辑:速度要慢得多,我的程序正在运行rn,执行4-5次迭代需要1秒。
发布于 2022-08-22 17:29:24
它看起来就像您正在尝试制定多个dict数据格式并连接到一个包含您的end_df的单一变量中。首先,正确的方法不总是将它们连在一起,只运行一次这样的命令。因此,建议将df对象堆叠在一个列表中,并将它们连接起来。
list_of_dfs = []
for i in list_dict:
list_of_dfs.append(pd.DataFrame(i))因此,pd.concat(list_of_dfs )比在循环中始终重新定义变量更明智。
现在,如果创建df对象需要一段时间(给我们时间)。解决这个问题还有其他方法,比如库py箭头(取决于cpu),它可以更快。
https://stackoverflow.com/questions/73448764
复制相似问题