Skip to main content
 首页 » 编程设计

python之如何在 Pandas 中用 df.apply() 替换 df.iterrows()

2025年05月04日27pengyingh

我有以下循环:

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()