如何将系列拆分为时间间隔? (Python)

Posted

技术标签:

【中文标题】如何将系列拆分为时间间隔? (Python)【英文标题】:How to split a Series into time intervals? (python) 【发布时间】:2022-01-07 06:22:08 【问题描述】:

我有这个数据框:

我应该将''Time.s''列的行拆分成区间,计算每个区间的平均值,最后计算每个平均值的偏差。

我无法每秒将 Volt.mv > 0.95 的行分成一组。我尝试使用 GroupBy,但它会在第二个表中产生问题:

我使用了这段代码,直接计算平均值,但我确实做错了:

ecg.groupby("Time.s").apply(lambda x: x["Volt.mv"].mean())

谁能帮帮我?

【问题讨论】:

【参考方案1】:

在进行 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"))
)

【讨论】:

以上是关于如何将系列拆分为时间间隔? (Python)的主要内容,如果未能解决你的问题,请参考以下文章

将时间序列数据拆分为时间间隔(比如一小时),然后绘制计数

如何将日期时间转换为时间戳 Python

ActionScript 3 将日期转换为时间间隔

将数据帧从时间戳转换为时间间隔

用于将日期转换为时间间隔的ActionScript函数

如何将字符串转换为时间,使其具有时区意识,并在 Python 中转换时区?