如何根据多索引定义的范围对一列中的值范围求和

时间:2017-07-12 10:30:28

标签: pandas multi-index

我很好并且真的难以接受这个

我有一个看起来像这样的MultiIndex数据框

               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的数据列加载一组值,以创建一个新的数据帧。

即。如果我要创建一个新的数据帧,这个数据值对应于每个index1的index2的前2个值,从上面的例子我想得到,

index1 summed_data
0      15
1      7
2      10

有谁知道怎么做?

1 个答案:

答案 0 :(得分: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