我有一列日期。我需要过滤掉今天日期和当月月底之间的那些日期。如果日期介于这些日期之间,则下一列显示“Y”
日期 | 列 |
---|---|
01/02/2021 | |
03/02/2021 | |
31/03/2021 | Y |
01/03/2021 | |
07/03/2021 | Y |
08/03/2021 | Y |
由于今天的日期是 07/03/2021,因此三个日期介于 07/03/2021 和 31/03/2021 之间。
答案 0 :(得分:3)
使用特定时间格式转换为datetime
列并与today
的时间戳进行比较
df.Date = pd.to_datetime(df.Date, format='%d/%m/%Y')
today = pd.to_datetime('today').normalize()
end_of_month = today + pd.tseries.offsets.MonthEnd(1)
df['Column'] = np.where((df.Date >= today) & (df.Date <= end_of_month), 'Y', '')
输出
Date Column
0 2021-02-01
1 2021-02-03
2 2021-03-31 Y
3 2021-03-01
4 2021-03-07 Y
5 2021-03-08 Y
6 2021-04-02