Выбрать определенный месяц

Как построить новый df в котором будут года скажем только месяцем Февраль?

Это не работает: df['month'] = df['Date'].dt.month И df = df.set_index(['datetime']) подумал надо сначала преобразовать и убрать индекс, но наверное и просто с столбцом Date должно работать.

df:

    Date            x           y
0   2007-01-03  86.290001   97.800003
1   2007-02-01  86.229996   90.810005
2   2007-03-01  84.029999   96.830002
3   2007-04-02  94.139999   102.500000
4   2007-05-01  99.590004   122.170006
... ... ... ...
117 2016-10-03  112.709999  118.690002
118 2016-11-01  113.459999  113.769997
119 2016-12-01  110.370003  118.019997
120 2017-01-03  115.800003  122.440002
121 2017-02-01  127.029999  136.270004

В общем теперь не знаю как правильно делать.

Нужно получить: (берем Февраль месяц)

    Date            x           y
    2007-02-01  86.290001   97.800003
    2008-02-01  86.229996   90.810005
    2009-02-01  84.029999   96.830002
    2010-02-02  94.139999   102.500000
    2011-02-01  99.590004   122.170006
    2012-02-01  99.590004   122.170006
    2013-02-03  112.709999  118.690002
    2014-02-01  113.459999  113.769997
    2015-02-01  110.370003  118.019997
    2016-02-03  115.800003  122.440002
    2017-02-01  127.029999  136.270004


Ответы (1 шт):

Автор решения: MaxU

попробуйте так:

res = df.loc[df["Date"].dt.month == 2]

альтернативное решение - создание виртуального столбца и поиск по нему:

res = df.assign(mon=df["Date"].dt.month).query("mon == 2")
→ Ссылка