熊猫将统计信息汇总为新列

时间:2018-10-03 08:30:33

标签: python pandas dataframe

我有一个包含3列的数据帧dfA是对象ID,B是标志,C是在对象{{1 }},标志为A。 我想计算B分组的C的平均值,并将结果存储为三个新列:

[A,B]:表示C0时的均值C(或NaN

B = 0:表示C1时的均值C(或NaN

B = 1:表示C2时的均值C(或NaN

下面有一个示例,说明了我如何将数据帧B = 2转换为df

res

1 个答案:

答案 0 :(得分:2)

unstack添加add_prefix

res = df.groupby(["A","B"])['C'].mean().unstack().add_prefix('C').reset_index()

或将pivot_table与默认的mean聚合函数一起使用:

res = df.pivot_table(index="A",columns="B",values='C').add_prefix('C').reset_index()

print (res)
B  A     C0      C1    C2
0  0  3.377  0.2225  1.45
1  1    NaN     NaN  1.77
2  2  9.234     NaN  2.54
3  3  1.000  6.6040   NaN