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