Python 按分钟分割数据帧

Python 按分钟分割数据帧,python,pandas,Python,Pandas,我有这样一个数据帧: 2014-01-17 15:03:55.073616,description,53.5,61.8 2014-01-17 15:03:55.789405,description,54.0,62.4 2014-01-17 15:03:56.604489,description,54.2,62.5 2014-01-17 15:03:57.345481,description,54.2,62.5 2014-01-17 15:03:58.072992,description,54.3

我有这样一个数据帧:

2014-01-17 15:03:55.073616,description,53.5,61.8
2014-01-17 15:03:55.789405,description,54.0,62.4
2014-01-17 15:03:56.604489,description,54.2,62.5
2014-01-17 15:03:57.345481,description,54.2,62.5
2014-01-17 15:03:58.072992,description,54.3,62.6
2014-01-17 15:03:58.805325,description,54.6,62.9
2014-01-17 15:03:59.585869,description,57.3,65.4
2014-01-17 15:04:00.292370,description,57.3,65.4
2014-01-17 15:04:01.030217,description,57.1,65.2
2014-01-17 15:04:01.836544,description,57.1,65.2
2014-01-17 15:04:02.559560,description,56.7,64.9
2014-01-17 15:04:03.259607,description,56.7,64.9
2014-01-17 15:04:03.968458,description,56.2,64.4
2014-01-17 15:04:04.695971,description,56.3,64.5
2014-01-17 15:04:05.447393,description,56.3,64.5
...
我想按分钟进行切片,例如,第三分钟和第五分钟之间的切片,查看文档似乎我必须使用
搜索排序
,但我不想每次都提供整个日期,因为我的数据框只包含每小时的数据,我只想在开始/结束分钟使用int进行切片


提前感谢

假设datetime是索引,您可以访问分钟:

# df1 = pd.read_csv('foo.csv', sep=',', header=None, parse_dates=[0], index_col=0)

In [11]: df1.index.minute
Out[11]: array([3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4], dtype=int32)
并在第3分钟到第5分钟之间抓取:

In [12]: df1.iloc[(3 <= df1.index.minute) & (df1.index.minute < 5)]
Out[12]: 
                                      1     2     3
0                                                  
2014-01-17 15:03:55.073616  description  53.5  61.8
2014-01-17 15:03:55.789405  description  54.0  62.4
2014-01-17 15:03:56.604489  description  54.2  62.5
2014-01-17 15:03:57.345481  description  54.2  62.5
2014-01-17 15:03:58.072992  description  54.3  62.6
2014-01-17 15:03:58.805325  description  54.6  62.9
2014-01-17 15:03:59.585869  description  57.3  65.4
2014-01-17 15:04:00.292370  description  57.3  65.4
2014-01-17 15:04:01.030217  description  57.1  65.2
2014-01-17 15:04:01.836544  description  57.1  65.2
2014-01-17 15:04:02.559560  description  56.7  64.9
2014-01-17 15:04:03.259607  description  56.7  64.9
2014-01-17 15:04:03.968458  description  56.2  64.4
2014-01-17 15:04:04.695971  description  56.3  64.5
2014-01-17 15:04:05.447393  description  56.3  64.5

[15 rows x 3 columns]

[12]中的
:df1.iloc[(3假设datetime是索引,您可以访问分钟:

# df1 = pd.read_csv('foo.csv', sep=',', header=None, parse_dates=[0], index_col=0)

In [11]: df1.index.minute
Out[11]: array([3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4], dtype=int32)
并在第3分钟到第5分钟之间抓取:

In [12]: df1.iloc[(3 <= df1.index.minute) & (df1.index.minute < 5)]
Out[12]: 
                                      1     2     3
0                                                  
2014-01-17 15:03:55.073616  description  53.5  61.8
2014-01-17 15:03:55.789405  description  54.0  62.4
2014-01-17 15:03:56.604489  description  54.2  62.5
2014-01-17 15:03:57.345481  description  54.2  62.5
2014-01-17 15:03:58.072992  description  54.3  62.6
2014-01-17 15:03:58.805325  description  54.6  62.9
2014-01-17 15:03:59.585869  description  57.3  65.4
2014-01-17 15:04:00.292370  description  57.3  65.4
2014-01-17 15:04:01.030217  description  57.1  65.2
2014-01-17 15:04:01.836544  description  57.1  65.2
2014-01-17 15:04:02.559560  description  56.7  64.9
2014-01-17 15:04:03.259607  description  56.7  64.9
2014-01-17 15:04:03.968458  description  56.2  64.4
2014-01-17 15:04:04.695971  description  56.3  64.5
2014-01-17 15:04:05.447393  description  56.3  64.5

[15 rows x 3 columns]
[12]中的
:df1.iloc[(3