如何在数据框中选择特定时间

时间:2019-01-03 15:12:50

标签: python pandas datetime

我想从数据中选择一个时间范围,但是我找不到在此代码中选择时间范围的方法。 如何修复我的代码? 谢谢!!!

我看到了这段代码

index.html

来自我的课本。 我要纠正的时间是从(1999,1,1)到(2016,1,1)

我尝试了一些代码来更改时间,例如:

data = pd.DataFrame({'EUROSTOXX': es['SX5E'][es.index > dt.datetime(1999, 1, 1)]}) 

但是失败了。有谁能救我?

2 个答案:

答案 0 :(得分:0)

此语法应该有效:

data = pd.DataFrame({'EUROSTOXX': es['SX5E'][(es.index > datetime(1999, 1, 1)) & (es.index < dt.datetime(2016, 1, 1))]})

答案 1 :(得分:0)

仅举例说明选择时间范围:

DataFrame示例:

transaction_id

一种获取方法如下:

>>> df
                 date
0 2001-01-01 00:00:00
1 2001-01-01 01:00:00
2 2001-01-01 02:00:00
3 2001-01-01 03:00:00
4 2001-01-01 04:00:00
5 2001-01-01 05:00:00
6 2001-01-01 06:00:00
7 2001-01-01 07:00:00
8 2001-01-01 08:00:00
9 2001-01-01 09:00:00

第二,将>>> df[(df['date'] > '2001-01-01 00:00:00') & (df['date'] <= '2001-01-01 03:00:00')] date 1 2001-01-01 01:00:00 2 2001-01-01 02:00:00 3 2001-01-01 03:00:00 列设置为索引,然后应用date方法:

loc

现在使用>>> df = df.set_index(df['date']) >>> df date date 2001-01-01 00:00:00 2001-01-01 00:00:00 2001-01-01 01:00:00 2001-01-01 01:00:00 2001-01-01 02:00:00 2001-01-01 02:00:00 2001-01-01 03:00:00 2001-01-01 03:00:00 2001-01-01 04:00:00 2001-01-01 04:00:00 2001-01-01 05:00:00 2001-01-01 05:00:00 2001-01-01 06:00:00 2001-01-01 06:00:00 2001-01-01 07:00:00 2001-01-01 07:00:00 2001-01-01 08:00:00 2001-01-01 08:00:00 2001-01-01 09:00:00 2001-01-01 09:00:00

loc

希望这会有所帮助。