小编典典

Pandas:如何找到每行最频繁的价值?

python

如何找到数据帧每一行的最频繁值?例如:

In [14]: df
Out[14]:
   a  b  c
0  2  3  3
1  1  1  2
2  7  7  8

返回:[3,1,7]


阅读 215

收藏
2021-01-16

共1个答案

小编典典

尝试.mode()方法:

In [88]: df
Out[88]:
   a  b  c
0  2  3  3
1  1  1  2
2  7  7  8

In [89]: df.mode(axis=1)
Out[89]:
   0
0  3
1  1
2  7

从文档:

获取沿选定轴的每个元素的模式。为每个标签的每个模式添加一行,并用nan填充空格。

请注意
,可能会为选定轴返回多个值(当一个以上项目共享最大频率时),这就是返回数据帧的原因。如果要使用数据帧df中的模式来插入缺失值,则可以执行以下操作:df.fillna(df.mode()。iloc
[0])

2021-01-16