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。 –