如何找到数据帧每一行的最频繁值?例如:
In [14]: df Out[14]: a b c 0 2 3 3 1 1 1 2 2 7 7 8
返回:[3,1,7]
尝试.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])
获取沿选定轴的每个元素的模式。为每个标签的每个模式添加一行,并用nan填充空格。
请注意 ,可能会为选定轴返回多个值(当一个以上项目共享最大频率时),这就是返回数据帧的原因。如果要使用数据帧df中的模式来插入缺失值,则可以执行以下操作:df.fillna(df.mode()。iloc [0])