2017-07-12 11 views
0

我很好,真正對這個如何總結值的範圍在基於一系列的一列由多指標

我有一個多指標數據框,看起來像這樣

   data 
index1 index2 
0  1  8 
     2  7 
     3  6 
     4  9 
1  1  3 
     2  4 
     3  3 
     4  6 
2  1  5 
     2  5 
難倒定義

....等等

我試圖從index2的值範圍中爲每個index1對來自數據列的值的負載進行求和以創建新的數據幀。

也就是說,如果我要創建從對應於每個索引1索引2從例子中的第一個2個值的數據值的新的數據框上面我會想,

index1 summed_data 
0  15 
1  7 
2  10 

有誰知道如何做這個?

回答

0

你不需要改變你的輸入格式,使用以下語句:

x = df.groupby(level ='index1').agg({'data': lambda x: x[:2].sum()}).rename(columns = {'data':'summed_data'}) 

然後打印:

 summed_data 
index1    
0    15 
1     7 
2    10 
+0

這工作!非常感謝你。這是獲得這些數據排序的另一種方式。似乎我需要更好地學習如何使用.agg和lambda函數 – Monkone

+0

不幸的是,我不能公開upvote,直到我打到15代表。還有3個問題,我將有足夠的啓動upvoting^_^ – Monkone

+0

這是我的錯,哈哈 –