我有一个带有列Date
的数据框:
2010-01-02 00:00:00
2010-03-05 00:00:00
2012-11-21 00:00:00
2013-05-16 00:00:00
.
.
.
2019-07-14 00:00:00
2019-09-19 00:00:00
我想只保留指定月份的日期,而不管年份。我该怎么办?
答案 0 :(得分:5)
您可以分别使用.dt.month
[pandas-doc]和.dt.day
[pandas-doc]获得月份和日期。因此,您可以使用以下内容进行过滤:
df[(df['Date'].dt.month == 3) & (df['Date'].dt.day == 5)]
获取所有年份3月5日生成的数据。
答案 1 :(得分:3)
使用boolean indexing
和Series.dt.month
进行过滤,并
Series.dt.day
:
#if necessary
#df['Date'] = pd.to_datetime(df['Date'])
df1 = df[(df['Date'].dt.month == 6) & (df['Date'].dt.day == 1)]
或使用Series.eq
,然后应省略括号:
df1 = df[df['Date'].dt.month.eq(6) & df['Date'].dt.day.eq(1)]