如何根据多索引定义的范围对一列中的一系列值求和
How to sum a range of values in one column based on a range as defined by a multiindex
我完全被这个难住了
我有一个如下所示的 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
有人知道怎么做吗?
你不需要改变你的输入格式,使用下面的语句:
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
我完全被这个难住了
我有一个如下所示的 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
有人知道怎么做吗?
你不需要改变你的输入格式,使用下面的语句:
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