我有以下循环:
dict1 = {}
dict2 = {}
for (i, row) in df[['col1', 'col2', 'col3']].iterrows():
dict1[row['col1']] = row['col2']
dict2[row['col1']] = row['col3']
据我所知,这个循环真的很慢(我的数据帧 df 中有大约 70'000 行)。
有什么办法可以加快速度吗?我在谷歌上搜索了一下,他们说我应该使用 df.apply() 而不是 .iterrows()。
请您参考如下方法:
IIUC,使用:
m=df[['col1', 'col2', 'col3']]
dict1=m.set_index('col1')['col2'].to_dict()
dict2=m.set_index('col1')['col3'].to_dict()
