python - 如何重新采样时间增量?

标签 python pandas

我一直在运行一个输出两列数据的实验:

  1. 实验开始后的秒数( float )
  2. 测量。 ( float )

我现在想将其加载到 Pandas 中以重新采样并绘制测量值。我以前做过这个,但那些时候我的时间戳是从纪元开始或日期时间 (YYY-MM-DD HH:mm:ss) 格式。如果我将我的第一列作为整数加载,我将无法执行

data.resample('5Min', how='mean')

.如果我将我的第一列转换为 timedelta(seconds=...) 似乎也不可能。我的问题是,是否可以在不破坏纪元转换的情况下重新采样这些数据?

最佳答案

您可以使用 groupbytime//period 来执行此操作:

import pandas as pd
import numpy as np

t = np.random.rand(10000)*3600
t.sort()
v = np.random.rand(10000)

df = pd.DataFrame({"time":t, "value":v})

period = 5*60
s = df.groupby(df.time // period).value.mean()
s.index *= period

关于python - 如何重新采样时间增量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270012/

相关文章:

python - Numpy 性能差异取决于数值

python - 将 pandas 数据表传输到文本文件

python - 数据框中的回合时间

python - 数据帧放入 bin 中

python - 操作数据框以创建数据透视表

python-3.x - Pandas Series 值包含列表,如何计算唯一值并将其作为字典返回

python - Django 在 init 上创建组,扩展 super 用户配置文件

python - 使用子进程将脚本输出定向到文件?

Python从txt读取具有重复值的csv

python - pandas 日期时间,时间格式为 0 :00:00 (h:mm:ss)