【发布时间】:2019-07-14 12:17:58
【问题描述】:
我有一个由 DateTime 索引的 pandas 数据帧,从小时“00:00:00”到小时“23:59:00”(按分钟递增,不计算秒数)。
in: df.index
out: DatetimeIndex(['2018-10-08 00:00:00', '2018-10-08 00:00:00',
'2018-10-08 00:00:00', '2018-10-08 00:00:00',
'2018-10-08 00:00:00', '2018-10-08 00:00:00',
'2018-10-08 00:00:00', '2018-10-08 00:00:00',
'2018-10-08 00:00:00', '2018-10-08 00:00:00',
...
'2018-10-08 23:59:00', '2018-10-08 23:59:00',
'2018-10-08 23:59:00', '2018-10-08 23:59:00',
'2018-10-08 23:59:00', '2018-10-08 23:59:00',
'2018-10-08 05:16:00', '2018-10-08 07:08:00',
'2018-10-08 13:58:00', '2018-10-08 09:30:00'],
dtype='datetime64[ns]', name='DateTime', length=91846, freq=None)
现在我想选择特定的间隔,比如每 1 分钟或每 1 小时,从“00:00:00”开始并检索所有连续间隔的行。
我可以用
抓取整个间隔,比如第一个小时的间隔df.between_time("01:00:00","00:00:00")
但我希望能够
(a) 只获取相隔特定间隔的所有时间 (b) 获得所有 1 小时的间隔,而无需手动请求 24 次。如何在 between_time 命令中增加 DatetimeIndex?还有比这更好的方法吗?
【问题讨论】:
-
为什么需要单独的数据框?为什么不使用
.iloc或.loc对原始数据框进行子集化?你能把数据分组吗? -
我是根据有点笼统的问题回答的,但您可能有更具体的问题。发布您尝试过的内容和预期的输出会很有帮助。查看How to Ask。
-
@Polkaguy6000 谢谢,我认为你的回答会是一个好方法,我会试试的。我没有足够仔细地询问这个问题,我将尝试重新定义我正在尝试做的事情并对其进行编辑以使其更清晰。
标签: python pandas loops variables