如何将系列拆分为时间间隔? (python)
How to split a Series into time intervals? (python)
我有这个数据框:
然后我应该将''Time.s''列的行分成区间,计算每个区间的平均值,最后计算每个平均值的偏差。
我无法将 Volt.mv > 0.95 的行每秒分成一组。我尝试使用 GroupBy,但它会在第二个 table:
中产生问题
我用的是这段代码,直接计算平均值,但我肯定做错了:
ecg.groupby("Time.s").apply(lambda x: x["Volt.mv"].mean())
谁能帮帮我?
在做groupby之前,你需要映射Time.s
到一个区间。否则每组将只有一行(大部分时间)。
以下是如何分组为 0.1 秒的间隔并计算每个间隔的均值和标准差:
interval_length = 0.1
df_aggregated = (
df
.assign(interval=df["Time.s"].div(interval_length).astype("int").mul(interval_length))
.groupby("interval")
.agg(volt_mean=("Volt.mv", "mean"), volt_std=("Volt.mv", "std"))
)
我有这个数据框:
然后我应该将''Time.s''列的行分成区间,计算每个区间的平均值,最后计算每个平均值的偏差。
我无法将 Volt.mv > 0.95 的行每秒分成一组。我尝试使用 GroupBy,但它会在第二个 table:
中产生问题我用的是这段代码,直接计算平均值,但我肯定做错了:
ecg.groupby("Time.s").apply(lambda x: x["Volt.mv"].mean())
谁能帮帮我?
在做groupby之前,你需要映射Time.s
到一个区间。否则每组将只有一行(大部分时间)。
以下是如何分组为 0.1 秒的间隔并计算每个间隔的均值和标准差:
interval_length = 0.1
df_aggregated = (
df
.assign(interval=df["Time.s"].div(interval_length).astype("int").mul(interval_length))
.groupby("interval")
.agg(volt_mean=("Volt.mv", "mean"), volt_std=("Volt.mv", "std"))
)