我有这种数据框:
ID ID2 Feature1 Feature2 Feature3 Feature4 Feature5
0 2 2 8 5 7 3 7
1 2 2 4 8 8 3 6
2 1 1 8 6 2 5 1
3 2 2 1 3 7 4 9
4 2 1 3 7 5 9 7
我想计算每个 ID 和 ID2 的行总和,因此输出数据帧将具有列 ID 和 ID2 值的总和,因此预期输出应该是
ID Sum_ID2_values1 Sum_ID2_values2
0 1 22 0
1 2 31 83
我尝试了不同的数据透视表和grouppy方法,但没有得到预期的输出。
尝试:
out = (
df.groupby("ID")
.apply(lambda x: x.groupby("ID2").sum().iloc[:, 1:].sum(axis=1))
.unstack("ID2")
.fillna(0)
)
print(out)
打印:
ID2 1 2
ID
1 22.0 0.0
2 31.0 83.0