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

Pandas 如何根据多索引定义的范围对一列中的值范围求和,pandas,multi-index,Pandas,Multi Index,我真的被难倒了 我有一个多索引数据框,看起来像这样 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 。。。。等等 我试图根据index

我真的被难倒了

我有一个多索引数据框,看起来像这样

               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的数据列中的值进行求和,以创建一个新的数据帧

i、 e.如果我要从数据值中创建一个新的数据帧,该数据值对应于上述示例中每个index1的index2的前2个值

index1 summed_data
0      15
1      7
2      10

有人知道怎么做吗?

您不需要使用以下语句更改输入格式:

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

成功了!非常感谢你。这是在整理数据时又一次减速。似乎我需要更好地学习如何使用.agg和lambda功能幸运的是,我不能公开投票,直到我再问15个代表3个问题,我就有足够的时间开始投票了^这是我的错,哈哈