【发布时间】:2021-10-18 22:29:33
【问题描述】:
有两个dataframe,需要根据Dataframe 1中的Active date从Dataframe2中提取最近即将到期的Expiry date,以获得正确的Value。
这是一个示例。原始数据包含数千行
数据框 1
df_1 = pd.DataFrame({'Category': ['A','B'],
'Active date': ['2021-06-20','2021-06-25']})
数据框 2
df_2 = pd.DataFrame({'Category': ['A','A','A','A','A','B','B','B'],
'Expiry date': ['2021-05-22','2021-06-23','2021-06-24','2021-06-28','2021-07-26','2021-06-27','2021-06-28','2021-08-29'],
'Value': [20,21,23,45,12,34,17,34]})
最终输出 -
我正在尝试的代码 -
df = pd.merge(df_1, df_2, on='Category', how='inner')
#Removed all the dates which are less than Active date
df = df.loc[(df_1['Active Date'] <= df_2['Expiry Date'])]
【问题讨论】:
标签: python pandas merge jupyter-notebook