Reputation: 71
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?
Upvotes: 4
Views: 15036
Reputation: 393963
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
Upvotes: 11