我使用下面的代码来更新基于另一个数据帧的数据帧。然而,这是惊人的缓慢。我在寻找解决办法。你知道吗
for inx, row in df1.iterrows():
dfTmp = df2.loc[df2['KANR'].astype(str) == row['KANR']]
if dfTmp.empty:
continue
if dfTmp.loc[dfTmp['STATUS'] == "F5"].empty is False:
timestamp = "%s %s" % (dfTmp.loc[dfTmp['STATUS'].astype(str) == "F5"].iloc[0, ]["Date"],
dfTmp.loc[dfTmp['STATUS'].astype(str) == "F5"].iloc[0, ]["Time"])
df1.set_value(inx, 'F5', timestamp)
您可以使用
merge
,它针对速度进行了优化,对于这种匹配任务,它会快得多,假设每个KANR
没有重复的日期时间:相关问题 更多 >
编程相关推荐