我有一个这样的数据框,如下所示:
阿 b c 0 3 3 3 1 3 3 3 2 3 3 3 3 3 3 3 4 2 3 2 5 3 3 3 6 1 2 1 7 2 3 2 8 0 0 0 9 0 1 0
我想计算每一行的频率,并添加一个包含最大频率的列结果,如下所示:
a b c 结果 0 3 3 3 3 1 3 3 3 3 2 3 3 3 3 3 3 3 3 3 4 2 3 2 2 5 3 3 3 3 6 1 2 1 1 7 2 3 2 2 8 0 0 0 0 9 0 1 0 0 我
尝试进行转置并遍历转置列以获得value_counts但无法获得正确的结果。 任何帮助都非常感谢。
使用DataFrame.mode
按位置选择第一列,DataFrame.iloc
:
df['result'] = df.mode(axis=1).iloc[:, 0]
print (df)
a b c result
0 3 3 3 3
1 3 3 3 3
2 3 3 3 3
3 3 3 3 3
4 2 3 2 2
5 3 3 3 3
6 1 2 1 1
7 2 3 2 2
8 0 0 0 0
9 0 1 0 0