计算一行熊猫中最常用的值,并使用该最频繁的值创建一列



我有一个这样的数据框,如下所示:

阿 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

最新更新