在Python中,从Dataframe更新字典的速度非常慢

2024-04-19 05:16:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想读取数据帧的每一行并将它们添加到字典中。在

下面的代码需要18秒才能运行。数据帧大约有150000行。vehicleID和engineconfigid是数值。在

engineconfigid = {}
for index, row in data_engineconfig.iterrows():
    engineconfigid.update({row['vehicleid-h']:row['engineconfigid-h']})

但是,下面的代码需要几个小时。唯一的区别是有更多的值要添加,有些值是字符串。这两条线之间的差异主要是什么造成的?弦不是很大。我的程序以20%的CPU(单核)运行,并且只使用60MB的RAM。在

^{pr2}$

Tags: 数据代码infordataindex字典update
1条回答
网友
1楼 · 发布于 2024-04-19 05:16:08

您可以尝试使用set_index。与其迭代行,这应该会得到更好的结果:

# answer 1
engineconfigid = data_engineconfig.set_index('vehicleid-h')['engineconfigid-h'].to_dict()

# answer 2
data_engineconfig.to_dict(orient='index')

相关问题 更多 >