首页 > 解决方案 > 如何将具有连续时间数字索引的 Pandas 数据帧中的数据重新采样、聚合值到离散整数时间?

问题描述

假设我有一个数据框,其中索引是一个浮点数,表示连续时间(例如,以秒为单位)。我有一个带有 0 和 1 的值列,指示事件何时发生。我想获得每整秒间隔的事件数。如果索引是 DateTime 格式,我可以使用df.resamplewithsum作为聚合函数。

如何使用浮点索引执行此操作?

示例代码:

import pandas as pd 
import numpy as np
df = pd.DataFrame(data={'value': np.random.randint(0,2,25)}, index = np.arange(0,5,0.2))

标签: pythonpandas

解决方案


尝试这个:

df = pd.DataFrame(data={'value': np.random.randint(0,2,25)}, index = np.arange(0,5,0.2))
df.index = pd.to_datetime(df.index, unit='s', errors='coerce')
df = df.resample('1s').agg({'value': 'sum'})
df.index = df.index.time
print(df)

          value
00:00:00      3
00:00:01      2
00:00:02      0
00:00:03      2
00:00:04      3

推荐阅读