2017-09-26 124 views
1
    x1   x1.resample('1T').mean 
ts 

2017-09-09 17:22:42 7.0  NaN 
2017-09-09 17:22:53 11.0  NaN 
2017-09-09 17:23:04 9.0  NaN 
2017-09-09 17:23:15 15.0  NaN 
2017-09-09 17:23:26 13.0  NaN 
2017-09-09 17:23:38 19.0  NaN 
2017-09-09 17:23:49 13.0  NaN 
2017-09-09 17:24:00 15.0 10.666667 

以上是df.x1Avg = df.x1.resample('1T').mean()的結果代碼只返回結果,當ts結束在hh:mm:00時。我想結果是熊貓重新採樣不規則間隔時間數據

     x1   x1.resample('1T').mean 
ts 

2017-09-09 17:22:42 7.0  (7+11)/2 
2017-09-09 17:22:53 11.0  (7+11)/2 
2017-09-09 17:23:04 9.0  (9+15+13+19+13)/5 
2017-09-09 17:23:15 15.0  (9+15+13+19+13)/5 
2017-09-09 17:23:26 13.0  (9+15+13+19+13)/5 
2017-09-09 17:23:38 19.0  (9+15+13+19+13)/5 
2017-09-09 17:23:49 13.0  (9+15+13+19+13)/5 
2017-09-09 17:24:00 15.0  15 

回答

1

您可以使用變換

df.index = pd.to_datetime(df.index) 
df['mean'] = df.resample('1T').transform('mean') 

你得到

     x1  mean 
ts  
2017-09-09 17:22:42 7.0  9.0 
2017-09-09 17:22:53 11.0 9.0 
2017-09-09 17:23:04 9.0  13.8 
2017-09-09 17:23:15 15.0 13.8 
2017-09-09 17:23:26 13.0 13.8 
2017-09-09 17:23:38 19.0 13.8 
2017-09-09 17:23:49 13.0 13.8 
2017-09-09 17:24:00 15.0 15.0 
+0

THX這麼多,它的工作。你能否向我解釋爲什麼我的上一個不工作,變換是做什麼的? –

+0

您正在嘗試對系列(df.x1.resample)進行重新採樣,但您需要對索引中的日期進行重新採樣,並將x1中的值進行聚合。只有與變換不同的是,我維護數據幀的形狀,df.resample('1T')。mean()將只返回3行,平均值爲9,13.8和15 – Vaishali

相關問題