我有一个Excel文件(.xlsx)约800行,128列与网格中密集的数据。有大约9500细胞,我试图取代使用大熊猫数据帧的单元值:熊猫缓慢的数据帧替换
xlsx = pandas.ExcelFile(filename)
frame = xlsx.parse(xlsx.sheet_names[0])
media_frame = frame[media_headers] # just get the cols that need replacing
from_filenames = get_from_filenames() # returns ~9500 filenames to replace in DF
to_filenames = get_to_filenames()
media_frame = media_frame.replace(from_filenames, to_filenames)
frame.update(media_frame)
frame.to_excel(filename)
的replace()
需要60秒。任何方式来加速这一点?这不是庞大的数据或任务,我期待熊猫更快地移动。 FYI我试图与CSV文件一样做同样的处理,但节省的时间是最小的(在replace()
约50秒)
'from_filenames'和'to_filenames'是'dicts'的列表? – jezrael
@jezrael不只是扁平的字符串列表。单元值 – Neil