使用数据框中的熊猫过滤日期

时间:2021-03-07 06:14:55

标签: python pandas dataframe

我有一列日期。我需要过滤掉今天日期和当月月底之间的那些日期。如果日期介于这些日期之间,则下一列显示“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 之间。

1 个答案:

答案 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