我有一個很大的數據框和一個小數據框,我想加入到一起。小數據框按組保存最大的每週值,該值對應於較大數據框中的值範圍。我想加入每個組每週最大值到大框架。多列加入羣熊貓
大框架:
L
datetime group value
2014-05-07 A 3
2014-05-07 B 3
2014-05-14 A 4
2014-05-14 B 2
2014-05-15 A 6
2014-05-15 B 4
2014-05-16 A 7
2014-05-16 B 10
小框架:
S
weeknumber group maxval
1 A 3
1 B 3
2 A 7
2 B 10
注意,這些都是假設周值,實際值將對應於週數在這一年,出來的52
要計算小框架,我們可以在我們的日期時間設置一個索引:
import pandas as pd
L.index = pd.to_datetime(L.datetime)
我們可以通過團體和周組,像這樣:
week = L.groupby([(lambda x : x.week),'group'], as_index=False)
計算每週最多是簡單的:
weekmax = week.value.max()
這將返回小框架,是我卡住。我嘗試合併數據框並執行連接,但無法使其工作。
編輯: 這就是我想要的最後一幀看起來像加入後:
datetime group value maxval
2014-05-07 A 3 3
2014-05-07 B 3 3
2014-05-14 A 4 7
2014-05-14 B 2 10
2014-05-15 A 6 7
2014-05-15 B 4 10
2014-05-16 A 7 7
2014-05-16 B 10 10
我可能沒有清楚地理解您的問題。看起來,加入後你留下了更小的框架。你可以通過使用'how ='left''或'how ='right''作爲連接參數來避免這種情況。默認情況下,連接使用'how ='inner'',只留下合併值的交集。 – 2014-08-29 17:07:01
編輯顯示所需的輸出 – camdenl 2014-08-29 17:14:06