首页 > 解决方案 > 将日期过滤到仅当月的第一天(在 Python 中)

问题描述

我有一个数据集 df,其中包含各种日期。但是,我想过滤我的数据集以仅包含该月第一天的日期。我可以在 Excel 中轻松地做到这一点,但我希望使用 Python 来实现这个逻辑。

date          id
 
10/01/2020    a
10/01/2020    a
10/24/2020    a
10/26/2020    a
11/01/2020    b
11/24/2020    b
11/01/2020    b

期望的输出

date         id
 
10/01/2020    a
10/01/2020    a
11/01/2020    b
11/01/2020    b

这就是我正在做的事情:

 import pandas as pd
 import numpy  as np

 df1 = pd.date_range('2019-01-01','2020-01-01',freq='Months')

上面的代码没有得到预期的输出。任何帮助或建议表示赞赏。

标签: pythonpandasnumpy

解决方案


给定一些时间序列数据框 df 和一列“日期”,其中包含日期时间,这样的事情将起作用:

df[df["date"].dt.day == 1]

如果日期时间在索引中,这样的事情会起作用:

df[df.index.day == 1]

推荐阅读