2017-12-14 16 views
2

私はマルチインデックスのDataFrameを使用していますが、私のレベルの1つに割り当てられたベクトルに対してのみ計算を適用したいと考えています。私は、この特定の出力を得るために、私のデータの配合合計を計算するために探していますPython - Pandas - 指定されたレベルに特定の関数を適用する - マルチインデックスDataFrame

enter image description here

:それは次のような出力を提供します

import pandas as pd 
import datetime 
ticker_date = [('US',datetime.date.today()-datetime.timedelta(3)), 
('US',datetime.date.today()-datetime.timedelta(2)), 
('US',datetime.date.today()-datetime.timedelta(1)), 
('EU',datetime.date.today()-datetime.timedelta(3)), 
('EU',datetime.date.today()-datetime.timedelta(2)), 
('EU',datetime.date.today()-datetime.timedelta(1))] 
index_df = pd.MultiIndex.from_tuples(ticker_date) 
example = pd.DataFrame([12.2,12.5,12.6,15.1,15.3,15],index_df,['value']) 

:以下のコードを使用して

。たとえば、米国の場合。その後、12.2、12.2 + 12.5そして12.2 + 12.5 + 12.6

enter image description here

答えて

1

あなたはgroupby(0 目に沿ってレベルを)したいように思え+ cumsum -

df.groupby(level=0).cumsum() 

       value 
US 2017-12-11 12.2 
    2017-12-12 24.7 
    2017-12-13 37.3 
EU 2017-12-11 15.1 
    2017-12-12 30.4 
    2017-12-13 45.4 
+1

おかげで交尾、作品完全に! – ruh

関連する問題