您可以使用
groupby+做到这一点
agg。为了您与精确的输出
Y,并
N在每个级别,你需要
reindex:
g = df.groupby(['Name', 'Attended'], sort=False).Points.agg(['count', 'sum'])g count sumName Attended Smith Y 2 49.38 N 1 0.00Adams N 1 0.00 Y 1 33.43Morgan Y 2 54.38idx = pd.MultiIndex.from_product([g.index.levels[0], ['Y', 'N']])idxMultiIndex(levels=[['Adams', 'Morgan', 'Smith'], ['N', 'Y']],labels=[[2, 2, 0, 0, 1, 1], [1, 0, 1, 0, 1, 0]])g.reindex(idx, fill_value=0) count sumSmith Y 2 49.38 N 1 0.00Adams Y 1 33.43 N 1 0.00Morgan Y 2 54.38 N 0 0.00



