是否可以使用pandas创建一系列日期,用户定义的频率高于1Hz?

时间:2017-12-21 10:28:52

标签: python pandas date-range

我想使用pandas为地球物理时间序列创建一系列日期,采样率高达2400Hz。我读到了关于pandas date_range方法here的内容。

我们假设我有一个包含15个样本的data ndarray。如果我正在处理1Hz的采样率,我会指定freq='s'

import pandas as pd

[...]

dates=pd.date_range("2014-10-07 05:12:49",periods=data.shape[0], freq='s')

这将返回:

  

DatetimeIndex([' 2014-10-07 05:12:49',' 2014-10-07 05:12:50',                  ' 2014-10-07 05:12:51',' 2014-10-07 05:12:52',                  ' 2014-10-07 05:12:53',' 2014-10-07 05:12:54',                  ' 2014-10-07 05:12:55',' 2014-10-07 05:12:56',                  ' 2014-10-07 05:12:57',' 2014-10-07 05:12:58',                  ' 2014-10-07 05:12:59',' 2014-10-07 05:13:00',                  ' 2014-10-07 05:13:01',' 2014-10-07 05:13:02',                  ' 2014-10-07 05:13:03'],                 dtype =' datetime64 [ns]',freq =' S')

但是,通过更高的用户定义采样率呢?

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

根据您的数据量有多大,您可以自行构建。这将创建时间戳列表,其中1毫秒的差异跨越1秒。

t = [pd.Timestamp('2014-10-07') + pd.Timedelta(x, 'ms') for x in range(1000)]

您可以修改初步时间戳,包括我明确使用'2014-10-07'的小时/分钟/秒。

如果要修改频率,则可以添加倍数以创建不同的周期(66.67 ms~15Hz)

 pd.Timedelta(66.67*x, 'ms')