Rob*_*988 8 python numpy dataframe pandas
如何找到数据帧每行的最频繁值?例如:
In [14]: df
Out[14]:
a b c
0 2 3 3
1 1 1 2
2 7 7 8
Run Code Online (Sandbox Code Playgroud)
回报:[3,1,7]
Max*_*axU 18
尝试.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
Run Code Online (Sandbox Code Playgroud)
来自docs:
获取沿所选轴的每个元素的模式.为每个标签的每个模式添加一行,用nan填充空白.
请注意,可能会为所选轴返回多个值(当多个项共享最大频率时),这就是返回数据帧的原因.如果要使用数据框df中的模式来估算缺失值,可以这样做:df.fillna(df.mode().iloc [0])