我想使用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')
但是,通过更高的用户定义采样率呢?
任何帮助将不胜感激!谢谢!
答案 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')