如何按月,日,年与熊猫过滤

时间:2014-11-26 14:23:42

标签: python pandas

我用:

创建DataFrame

df = pandas.read_csv("data.csv", sep=';', parse_dates = 1, dayfirst = True)

然后我得到以下结果:

                   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  

但我不知道如何按月(或年,日,小时等等)过滤。像df[df["System_created"].day]这样的东西是理想的。这可能吗?

1 个答案:

答案 0 :(得分:8)

只要您的pandas版本为0.15或更高版本,假设您的dtype已经是日期时间,则以下内容将起作用:

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

所以基本上dt属性允许您访问日期时间的组件以执行您希望过滤的比较