是否可以使用 pandas 来创建用户定义频率高于 1Hz 的日期范围?
Is it possible to use pandas to create a range of dates with a user-defined frequency higher than 1Hz?
我想使用 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')
这会 return:
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 毫秒差异跨越 1 秒的时间戳列表。
t = [pd.Timestamp('2014-10-07') + pd.Timedelta(x, 'ms') for x in range(1000)]
你可以修改初始时间戳,包括hours/minutes/seconds我明明用了'2014-10-07'
如果你想修改频率,那么你可以添加倍数来创建不同的周期(66.67 ms ~ 15Hz)
pd.Timedelta(66.67*x, 'ms')
我想使用 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')
这会 return:
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 毫秒差异跨越 1 秒的时间戳列表。
t = [pd.Timestamp('2014-10-07') + pd.Timedelta(x, 'ms') for x in range(1000)]
你可以修改初始时间戳,包括hours/minutes/seconds我明明用了'2014-10-07'
如果你想修改频率,那么你可以添加倍数来创建不同的周期(66.67 ms ~ 15Hz)
pd.Timedelta(66.67*x, 'ms')