我在数据框中有一个 Excel 文件old_df,我通过从另一个 Excel 文件数据框中添加新内容来使数据保持最新new_df。pd.concat如果新数据帧中的日期之一在旧数据帧中不存在,我只是将新帧和旧帧放在一起。
目前该文件中的一些重要列是:
Pub Date Forecast Time Forecast Date State Temp
2018-12-12 23:00:00 2018-12-20 AK 3
2018-12-12 02:00:00 2018-12-20 AK 3.2
2018-12-12 05:00:00 2018-12-20 AK 2.9
.
.
我想确保我通关重复行,当我更新此旧的文件与新的数据-跳跃的非唯一实例Pub Date有Forecast Time,Forecast Date和State。
现在我正在使用一个非常糟糕的方法,通过获取Pub Dates新旧列表:
dateList_old = date_old.tolist()
dateList_new = date_new.tolist()
result = any(elm in dateList_new for elm in dateList_old)
if result == True:
print('One or more of the dates already exists in the database')
sys.exit()
else:
frames = [old_df,new_df]
result = pd.concat(frames)
result.to_excel("file", encoding="utf-8", index=False)
但这会遇到问题,因为如果我要添加Pub Date任何类型的相同内容 - 它会退出整个写入。
我想这样做,如果Pub Date + Forecast Time + Forecast Date + State在old_df然后跳过并继续写入所有其他不存在的行,并且仅当所有这些组合已经存在时才退出。
是否有捷径可寻?
皈依舞
相关分类