我有以下循环:
dict1 = {}
dict2 = {}
for (i, row) in df[['col1', 'col2', 'col3']].iterrows():
dict1[row['col1']] = row['col2']
dict2[row['col1']] = row['col3']
据我所知,这个循环真的很慢(我在数据框df
中大约有7万行)。
有什么办法可以加快速度吗?我在Google上搜索了一下,他们说我应该使用df.apply()
而不是.iterrows()
。
答案 0 :(得分:6)
IIUC,使用:
m=df[['col1', 'col2', 'col3']]
dict1=m.set_index('col1')['col2'].to_dict()
dict2=m.set_index('col1')['col3'].to_dict()