问题描述
我有一个多索引DataFrame,并且我希望仅对分配给我的一个级别的向量应用一些计算。
使用以下代码:
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
推荐答案
您似乎需要groupby
(第0层)+-
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