熊猫只过滤月份和日期

时间:2020-01-05 16:44:16

标签: python pandas dataframe

我有一个带有列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

我想只保留指定月份的日期,而不管年份。我该怎么办?

2 个答案:

答案 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 indexingSeries.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)]