我有两个表(A和B),我想从表B中相同ID的同一财政年度的最新data_date中获取每个ID在每个财政年度中的最新data_date的值。我在第三个表中有结果。我正在尝试用python编写此代码
表A
ID data_date fiscal_year
A 2016-03-31 2016
A 2016-03-31 2016
A 2018-09-31 2018
B 2017-06-30 2017
B 2017-09-30 2017
B 2018-06-30 2018
C 2013-03-31 2013
表B
ID data_date Value
A 2015-12-31 1
A 2016-12-31 4
A 2018-03-30 85
B 2015-12-31 7
B 2016-12-31 14
B 2017-12-31 12
C 2013-03-30 45
C 2013-12-31 9
C 2014-12-31 64
C 2015-12-31 25
结果
ID data_date fiscal_year Value
A 2016-03-31 2016 4
A 2016-03-31 2016 4
A 2018-09-31 2018 85 [85 is the value of the latest date of B in 2018
B 2017-06-30 2017 NA [It is not the latest data date in 2017 for B]
B 2017-09-30 2017 12
B 2018-06-30 2018 NA [There is no value for B in 2018]
C 2013-03-31 2013 9
2条答案
按热度按时间bnlyeluc1#
IIUC,使用带有
forward
* 方向 * 的merge_asof
。假设(
df1
)和(df2
)是您的两个表/ Dataframe ,您可以使用以下命令:输出:
7xzttuei2#
要获得相同的输出
1.如果数据使用字典
输出:
2.如果数据使用数组
输出: