计算平均每秒

时间:2019-12-24 09:36:53

标签: python-3.x pandas time-series

我有这个看起来像这样的数据集

        t1       HB         t2     Systol
0       0.17540 -0.24163    0.17540  87.512103
1       0.42893 -0.24171    0.42893  86.901093
2       0.67056 -0.23962    0.67056  87.694917
3       0.91227 -0.24001    0.91227  88.611195
4       1.15189 -0.23990    1.15189  89.142342
...         ...      ...        ...        ...
1459  322.54225  0.19422  322.54225  97.196960
1460  322.73647  0.20228  322.73647  97.830200
1461  322.93875  0.19289  322.93875  97.031825
1462  323.13164  0.19662  323.13164  96.513930
1463  323.32826  0.19185  323.32826  95.185343

,并想计算每秒的HB和Systol平均值。 我已经尝试过使用大熊猫(use time series data in python to calculate mean, variance std deviation)的方法,因为这正是我想要做的,并且似乎可以用于我的数据集。

这是我尝试过的;

import pandas as pd
import numpy as np 
df=pd.read_csv("BP1.txt", delim_whitespace= True)
print(df)
df["t1"] = pd.to_timedelta(df.t1, unit="s")
df.set_index("t1", append=True)
df["t2"] = pd.to_timedelta(df.t2, unit="s")
df.set_index("t2",append=True)
print(df)
print(df.HB. resample("1S").mean())

                  t1       HB              t2     Systol
0    00:00:00.175400 -0.24163 00:00:00.175400  87.512103
1    00:00:00.428930 -0.24171 00:00:00.428930  86.901093
2    00:00:00.670560 -0.23962 00:00:00.670560  87.694917
3    00:00:00.912270 -0.24001 00:00:00.912270  88.611195
4    00:00:01.151890 -0.23990 00:00:01.151890  89.142342
...              ...      ...             ...        ...
1459 00:05:22.542250  0.19422 00:05:22.542250  97.196960
1460 00:05:22.736470  0.20228 00:05:22.736470  97.830200
1461 00:05:22.938750  0.19289 00:05:22.938750  97.031825
1462 00:05:23.131640  0.19662 00:05:23.131640  96.513930
1463 00:05:23.328260  0.19185 00:05:23.328260  95.185343

我认为时间已转换为timedelta格式,但发生了错误。 它说:“仅对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,但有'RangeIndex'实例。” 我真的是python和编程的初学者,所以不知道如何解决这个问题。 任何人都可以帮助解决这个问题吗? 谢谢。

0 个答案:

没有答案