我想在groupby
函數後恢復索引。創建羣組後的日期時間索引
問題是如何在Multindex中的單獨列中創建具有年,月,日的DateTime索引。
給出一個DataFrame
爲例:
import pandas as pd
import numpy as np
index=pd.date_range('2011-1-1 00:00:00', '2011-1-31 23:50:00', freq='10min')
df=pd.DataFrame(np.random.randn(len(index),2).cumsum(axis=0),columns=['A','B'],index=index)
然後,開始使用grupby
在每個小時的總和:
day_h = df.groupby([lambda x: x.year, lambda x: x.month, lambda x: x.day,lambda x: x.hour]).mean()
這將創建一個索引,其中年,月,日,時的在單獨的列中。
A B
2011 1 1 0 0.209908 1.196164
2011 1 1 1 0.692531 0.518185
2011 1 1 2 1.674748 0.013136
2011 1 1 3 1.674748 0.013136
2011 1 1 4 1.674748 0.013136
2011 1 1 5 1.674748 0.013136
所需的輸出將有日期時間指數:
A B
2011-1-1 00:00 0.209908 1.196164
2011-1-1 01:00 0.692531 0.518185
2011-1-1 03:00 1.674748 0.013136
2011-1-1 04:00 1.674748 0.013136
2011-1-1 05:00 1.674748 0.013136
在我的文件有一些遺漏行,所以我不能創建1H時間步長的新指標。
我的數據後GROUPBY Example data
有什麼不對當前DF?該索引顯示相對水平值,因爲您在給定日期有多個小時,輸出正確 – EdChum
此外,您還想在此實現什麼?您的groupby對象與您的示例df沒有區別,因爲這裏的意思相同 – EdChum
是的,這是正確的,但我想擺脫Multindex並具有日期時間索引。 – Michal