How to filter by month, day, year with Pandas

pandas, python

Solution

So long as your pandas version is `0.15` or higher then the following would work assuming your `dtype` is already a datetime:

In [167]:

df[df.System_created.dt.day == 5]
Out[167]:
       Qty      System_created  Total
index                                
5        2 2014-11-05 11:15:47  21.76
6        1 2014-11-05 11:15:48   3.32

So basically the `dt` attribute allows you to access the components of your datetime to perform the comparisons you desire for filtering

Problem

I create the DataFrame with: `df = pandas.read_csv("data.csv", sep=';', parse_dates = 1, dayfirst = True)` I then get the following results: ``` Qty System_created Total 0 2 2014-10-14 08:13:46.000 21.76 1 1 2014-10-14 08:13:46.000 4.16 2 2 2014-10-14 08:30:46.000 27.90 3 1 2014-10-14 08:30:46.000 4.95 4 1 2014-10-14 08:30:46.000 4.95 5 2 2014-11-05 11:15:47.000 21.76 6 1 2014-11-05 11:15:48.000 3.32 ``` But I do not know how to filter by month(or year, day, hour etc...). Something like `df[df["System_created"].day]` would be ideal. Is that possible?

Original source