我正在尝试在两个数据帧之间查找一系列 ID。
Lookup_df 中的每个 ID 都有一个发布日期,我需要查找 ref_df 中相对于 Lookup_df 日期的最后日期。
在下面的示例中,lookup_df ID 123 于 20200218 发布,因此在 ref_df 中的日期中,我只需要查看 ID 为 123 的日期,并找到在此之前的最后一个日期,即 20200201。
我已经尝试了各种循环,但无法完成这项工作,并且真实的数据库超过 600k 行,所以我担心我当前的方法(创建临时 DF 然后循环)会导致完成此操作所需的运行时间不切实际。
ref_df = pd.DataFrame({'ID':[123,123,123,345,345,345],'version':['version1','version2','version3','version4','version5','version6'],
'date effective from':['20200101','20200201','20200301','20200401','20200501','20200601',]})
print(ref_df)
lookup_df = pd.DataFrame({'ID':[123,345],'date':['20200218','20200522']})
print(lookup_df)
for index, row in lookup_df.iterrows():
temp_df = ref_df[ref_df['ID']==row['ID']]
for index2, row2 in temp_df:
#some code here to find the right date?!
编辑 - 抱歉无法直接显示表格,这是我不熟悉如何格式化我的问题的功能 - 感谢指点!
皈依舞
富国沪深
尚方宝剑之说
相关分类