【发布时间】:2016-04-06 01:09:00
【问题描述】:
我有一个大型 Pandas 数据框,其中一列是已知时期(2013 年)的(无序)日期时间。我需要一种有效的方法将这些日期时间转换为索引,其中每个索引 = # hours since start_time ('2013-1-1 00)'。 有重复时间,应该映射到重复索引。
显然,这可以通过使用 timedelta 以循环方式一次完成。也可以使用 Pandas Series 循环完成(参见下面的 sn-p,它生成自 start_time 以来所有日期时间的有序序列):
nhours = 365*24
time_series = Series(range(nhours), index=pd.date_range('2013-1-1', periods=nhours, freq='H'))
运行此 sn-p 后,可以在循环中使用 .index 或 .get_loc 方法获取索引。
** 但是,有没有一种快速(非循环?)的方法来获取任意日期时间列并找到它们各自的索引? **
例如,输入以下列日期时间:
2013-01-01 11:00:00
2013-01-01 11:00:00
2013-01-01 00:00:00
2013-12-30 18:00:00
应该输出以下索引:[11, 11, 0, 8730]
【问题讨论】:
标签: python datetime optimization pandas series