熊猫时间切片

时间:2017-07-05 20:05:35

标签: python pandas

我正在尝试读取csv然后根据时间片返回数据帧。

Date    Time    Transaction No.
7/3/2017    15:26:54    2141439
7/3/2017    15:26:44    2142226
7/3/2017    15:25:26    2132076
7/3/2017    15:24:17    2141038
7/3/2017    15:20:55    2140073
7/3/2017    15:16:28    2133436
7/3/2017    15:10:48    2134561
7/3/2017    14:40:26    2125436
7/3/2017    14:35:50    2133569
7/3/2017    14:33:18    2126370
7/3/2017    14:31:42    2132945

以上是我的csv看起来像我正在尝试以下内容:

df = pd.read_csv('test_file.csv',parse_dates=[['Date', 'Time']])

我想在14:30到15:00之间只返回值。我尝试将index_col = [0]添加到read_csv函数中,但我对如何返回我正在查找的数据感到有点迷失。我最初的想法是让我的索引成为日期时间索引并使用between函数来获得我想要的但我似乎无法使其工作。

1 个答案:

答案 0 :(得分:1)

index_col使用参数DatetimeIndex,然后按between_time过滤:

df = pd.read_csv('test_file.csv',index_col=['Date_Time'], parse_dates=[['Date', 'Time']])
print (df)
                     Transaction No.
Date_Time                           
2017-07-03 15:26:54          2141439
2017-07-03 15:26:44          2142226
2017-07-03 15:25:26          2132076
2017-07-03 15:24:17          2141038
2017-07-03 15:20:55          2140073
2017-07-03 15:16:28          2133436
2017-07-03 15:10:48          2134561
2017-07-03 14:40:26          2125436
2017-07-03 14:35:50          2133569
2017-07-03 14:33:18          2126370
2017-07-03 14:31:42          2132945


df = df.between_time('14:30', '15:00')
print (df)
                     Transaction No.
Date_Time                           
2017-07-03 14:40:26          2125436
2017-07-03 14:35:50          2133569
2017-07-03 14:33:18          2126370
2017-07-03 14:31:42          2132945