2
我有一个熊猫数据框,其中包含不同时间尺度的信息,即某些时期我每秒钟有100个数据点,其他时期我每分钟有1个数据点。熊猫 - 重采样 - 下采样前的上采样
我的目标是用固定的时间窗(例如:1秒)重新采样这个数据帧,使用上次采样时的正则化和下采样的均值。另外,我希望指定算法执行这两种操作(缩减采样和上采样)的顺序,因为我需要上采样(使用最后一个)首先执行,而下采样(使用均值)仅在之后执行。
这是否可以使用熊猫重采样功能?例如,在下面的示例代码中,我希望结果数据框中包含以下值:0到10秒之间的0.5(平均值),10到19秒之间的0(最后一个)以及19和10之间的10 39秒。
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'value' : np.repeat(1,10)}, index=pd.date_range('2010-01-01 00:00:00', periods=10, freq='1S'))
df2 = pd.DataFrame({'value' : np.repeat(0,10)}, index=pd.date_range('2010-01-01 00:00:00.5', periods=10, freq='1S'))
df3 = pd.DataFrame({'value' : np.repeat(10,3)}, index=pd.date_range('2010-01-01 00:00:19', periods=3, freq='10S'))
df = pd.concat([df1, df2, df3], axis=0)
df = df.sort_index()
df.resample(rule='1S', fill_method='ffill', kind='timestamp', how='mean')
你是怎么建议我解决这个问题的?
编辑:我真正的数据框很大,所以我想尽量减少操作的数量,特别是那些涉及对象复制。
感谢您的回答,我不清楚您必须多次调用resample。 –