除熊猫中的某些列之外,相同键行的平均值

时间:2019-08-04 17:09:06

标签: pandas

我有一个表,该表具有某些列的子集作为记录键。 记录键可能具有重复项,例如几行可能具有相同的键,但值不同。我想将此类相同键行的平均值平均为一行。但是有些列有代表类别的数字,我想从平均值中排除它们,而是选择一个随机值。

作为示例,请考虑具有键k1k2,数值v1和类别整数值id的表

k1 | k2 | v1 | id
1  | 2  | 4  | 100
1  | 3  | 2  | 200
1  | 2  | 8  | 300
1  | 2  | 2  | 400

我希望输出为

k1 | k2 | v1 | id
1  | 2  |14/3| 100 (or 300 or 400)
1  | 3  | 2  | 200

目前,我有一个代码可以对相同键列的平均值进行计算:

g = table.groupby(primary_keys)
s = g.sum()
table = s.div(g.count(), axis=0)

但是我不知道将其扩展为排除类别列(例如我知道它们是什么)并为类别选择随机值

1 个答案:

答案 0 :(得分:1)

这是一种方法

p = None