使用groupby.agg(list)函数后,是否可以获取行中元素的模式(最多出现)?请参考下面的例子

时间:2019-05-21 13:36:48

标签: python pandas

我需要将ID(第一列)与点(秒列)中的一个值关联。第二列最初具有一个以上的元素列表,并且出现次数最多的元素将用作第二列值作为最终目标

输入:

a b
A 1
A 2
B 5
B 5
B 4
C 6
df.groupby(['a']).agg(list) 

当前输出

a          b
A       [1, 2]
B    [5, 5, 4]
C          [6]

需要最终输出:

a         b
A         1  (since it appeared first and all elements are unique)
B         5  (since it appeared most time)
C         6  (since only one element)
df.groupby(['a']).agg(list)

当前阶段:

a          b
A       [1, 2]
B    [5, 5, 4]
C          [6]

需要最终输出:

a         b
A         1  (since it appeared first and all elements are unique)
B         5  (since it appeared most time)
C         6  (since only one element)

注意:b列可能包含非数字元素。另外,由于数据集很大,因此使用“ for”遍历整个数据帧可能会增加计算量。因此,请就此提出建议。预先谢谢你。

0 个答案:

没有答案