Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Pandas中用df.apply()替换df.iterrows()?_Python_Pandas - Fatal编程技术网

Python 如何在Pandas中用df.apply()替换df.iterrows()?

Python 如何在Pandas中用df.apply()替换df.iterrows()?,python,pandas,Python,Pandas,我有以下循环: dict1 = {} dict2 = {} for (i, row) in df[['col1', 'col2', 'col3']].iterrows(): dict1[row['col1']] = row['col2'] dict2[row['col1']] = row['col3'] 据我所知,这个循环非常慢(我的数据帧中有大约70000行df) 有没有办法加快速度?我在谷歌上搜索了一下,他们说我应该使用df.apply()而

我有以下循环:

dict1 = {}
dict2 = {}
for (i, row) in df[['col1', 'col2', 'col3']].iterrows():
            dict1[row['col1']] = row['col2']
            dict2[row['col1']] = row['col3']
据我所知,这个循环非常慢(我的数据帧中有大约70000行
df

有没有办法加快速度?我在谷歌上搜索了一下,他们说我应该使用
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()
IIUC,使用:

m=df[['col1', 'col2', 'col3']]
dict1=m.set_index('col1')['col2'].to_dict()
dict2=m.set_index('col1')['col3'].to_dict()

请共享a您可能不需要任何循环,因为看起来您只需要将序列转换为dict。请共享a您可能不需要任何循环,因为看起来您只需要将序列转换为dict。