在熊猫的数据框中选择日期和时间

时间:2018-08-14 23:48:49

标签: python pandas dataframe

我有一个看起来像这样的数据框

    Date            MBs     GBs
0   2018-08-14 20:10    32.00 MB    0.00 GB
1   2018-08-14 20:05    4.00 MB     0.00 GB
2   2018-08-14 20:00    1000.99 MB  1.23 GB

我已经做到了:

na_aus['Date'] =  pd.to_datetime(na_aus['Date'], format='%Y-%m-%d %H:%M:%S')

但是当我尝试做一个像这样的简单过滤器时:

na_aus.loc['2018-08-14 19:50' : '2018-08-14 20:10'] 

我得到的是:

Date            MBs     GBs

无数据返回。

我尝试遵循此Select dataframe rows between two dates,但不起作用

1 个答案:

答案 0 :(得分:1)

使用.between

na_aus.loc[na_aus['Date'].between('2018-08-14 19:50','2018-08-14 20:10')]

在您的情况下,所有行均满足要求:

                 Date         MBs      GBs
0 2018-08-14 20:10:00    32.00 MB  0.00 GB
1 2018-08-14 20:05:00     4.00 MB  0.00 GB
2 2018-08-14 20:00:00  1000.99 MB  1.23 GB

但是,如果您不希望它包含边界,请设置inclusive=False。这意味着,由于第0行是您范围的确切边界,因此不会包含该行:

>>> na_aus.loc[na_aus['Date'].between('2018-08-14 19:50', '2018-08-14 20:10',
                                      inclusive=False)]


                 Date         MBs      GBs
1 2018-08-14 20:05:00     4.00 MB  0.00 GB
2 2018-08-14 20:00:00  1000.99 MB  1.23 GB