1 回答
TA贡献1811条经验 获得超5个赞
创建一个均匀间隔的日期时间索引,将其应用于您的数据,并使用均匀间隔的索引对数据框进行滚动求和。由于这将在 numpy/pandas 中发生,因此它比对数据进行 Python 循环要快得多。
使用示例中的数据并假设毫秒间隔:
df = """2020-04-01 00:03:48.197028\t1
2020-04-01 00:24:07.186631\t11
2020-04-01 00:24:07.200361\t5
2020-04-01 00:24:07.204382\t1
2020-04-01 00:24:07.208525\t13"""
# Reading the sample dataframe
from io import StringIO
mfile = StringIO(df)
adf = pd.read_csv(mfile, sep="\t")
adf.columns = ['mtimestamp', 'mnumber']
adf.mtimestamp = pd.to_datetime(adf.mtimestamp)
# Creating a proper datetime index
adf = adf.set_index(pd.DatetimeIndex(adf['mtimestamp']))
adf = adf.drop(columns='mtimestamp')
# Resampling and summing
adf.resample('1ms').sum()
产量
mnumber
mtimestamp
2020-04-01 00:24:07.186 11
2020-04-01 00:24:07.187 0
2020-04-01 00:24:07.188 0
添加回答
举报