我有一个日期列表和截止日期:3月31日。我想查看3月31日之前的第一个日期,并将其作为一年中的最后一个日期,然后选择之前的最后3个并将它们放入1年。 (例如:如果我们看1997年,即1997年3月之前的第一个日期是:索引8,日期:1996-12-13。现在我想回顾3个日期,并将它们放在同一年1997年下,即索引7 ,6和5 |与1995年相同,即1995年3月之前的第一个日期,是索引0,日期:1994-12-15,但是索引0之前没有可用数据。
我的数据如下:
date
0 1994-12-15
1 1995-07-06
2 1995-09-13
3 1995-12-12
4 1996-03-14
5 1996-07-01
6 1996-09-17
7 1996-11-12
8 1996-12-13
9 1997-06-25
10 1997-09-10
11 1997-12-12
我希望它以以下方式显示:
date year
0 1994-12-15 1995
1 1995-07-06 1996
2 1995-09-13 1996
3 1995-12-12 1996
4 1996-03-14 1996
5 1996-07-01 1997
6 1996-09-17 1997
7 1996-11-12 1997
8 1996-12-13 1997
9 1997-06-25 1998
10 1997-09-10 1998
11 1997-12-12 1998
如果您对我该如何处理有任何想法,请告诉我。
答案 0 :(得分:3)
将merge_asof
与由最小和最大年份创建的助手(?=\n{2}|\\z)
以及date_range
一起使用,它会在由列DataFrame
截止之前回填值:
df1['year']