我有一个多索引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
答案 0 :(得分:2)
好像你想要一个groupby
(沿着0 th 级别)+ 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