【发布时间】:2021-12-07 18:09:43
【问题描述】:
如果数据框如下所示:
Class1 Class2 Exam Score1 Score2
a1 a2 a 0.90 0.70
a1 a2 b 0.80 0.70
a1 a2 c 0.10 0.70
a1 a3 c 0.10 0.20
a2 a3 c 0.70 0.20
a2 a3 d 0.30 0.10
a3 a4 e 1.00 0.80
a3 a4 f 0.00 0.70
a3 a5 e 1.00 0.90
a3 a5 f 0.00 0.90
a4 a5 e 0.80 0.90
a4 a5 f 0.70 0.90
我想计算每个类的平均值,但要计算每对的平均值(a1-a2、a1-a3 等,就像上面的数据框一样)。我做了最天真的事情,将数据框分成多个,然后计算整个分数列的平均值。但是当数据帧有数百对时,这是不可能的。我怎样才能成对分组?
想要的输出:
Class1 Class2 Average1 Average2
a1 a2 0.60 0.70
a1 a3 0.10 0.20
a2 a3 0.50 0.15
a3 a4 0.50 0.75
a3 a5 0.50 0.90
a4 a5 0.75 0.90
【问题讨论】:
-
df.groupby(["Class1", "Class2"]).mean().reset_index()
标签: python pandas dataframe mean