假设我们有这个熊猫DF。
我想知道哪一列的每一行都有最大值
第1,2和3行的输出将全部为5列
第4行为visits_total
第5行为['content_gene_strength', 'sport_gene_strength', 'visits_total']
谢谢
答案 0 :(得分:1)
用最大值DataFrame.eq
比较所有列,然后使用DataFrame.dot
与带有分隔符的列名进行矩阵乘法,最后用Series.str.rstrip
从右侧删除分隔符:
df['new'] = df.eq(df.max(axis=1), axis=0).dot(df.columns + ',').str.rstrip(',')