因此,我获得了以传感器为基础的时间序列数据,该数据以秒为间隔进行测量,每个时间点的对应心率均采用Excel格式。我的目标是分析一段时间内是否存在任何趋势。当我将其导入Python时,可以看到一定数量,但看不到时间。但是,在Excel中导入时,我可以轻松地将其转换为时间格式。
这就是在Python中的样子。(第1列=时间戳,第2列=以bpm为单位的心率)
看起来应该是这样的:
这是我试图在Python中将其转换为日期时间格式的方法:
import datetime
Time = datetime.datetime.now()
"%s:%s.%s" % (Time.minute, Time.second, str(Time.microsecond)[:2])
if isinstance(Time,datetime.datetime):
print ("Yay!")
df3.set_index('Time', inplace=True)
如果执行此操作,则时间将被识别为float64,而不是datetime64 [ns]。
因此,当我尝试绘制此时间序列时,得到以下信息:
我什至进行了Dickey-fuller测试,以使用此数据集分析Python中的趋势。我在Python中对time列的错误配置实际上会影响我的ADF测试吗?我假设由于此代码仅分析了"心率"列中的趋势,所以没关系,对吧?
这是我使用的代码:
#Perform Dickey-Fuller test:
print("Results of Dickey-Fuller Test:")
dftest=adfuller(df3 ['HeartRate'], autolag='AIC')
dfoutput=pd.Series(dftest[0:4], index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])
for key,value in dftest[4].items():
dfoutput['Critical Value (%s)'%key] = value
print(dfoutput)
test_stationarity(df3)
我做得对吗?我没有工程领域的经验,我正在这样做以改善老年人的医疗保健,因此,我们将不胜感激!
提前致谢! :)
似乎excel中的dateformat表示为自1899年12月30日以来已经过去的天数。 要将时间戳列上的数字转换为秒,您只需将其乘以24 * 60 * 60 = 86400(一天中的秒数)。
非常感谢。 我会尝试并报告给您:)