假设我们有这个 pandas DF。我想知道哪一列每行的最大值第 1,2 和 3 行的输出将是全部 5 列对于第 4 行将是visits_total而对于第 5 行将是['content_gene_strength', 'sport_gene_strength', 'visits_total']谢谢
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
DataFrame.eq按最大值比较所有列,然后使用DataFrame.dot带有分隔符的列名称进行矩阵乘法,最后从右侧删除分隔符 by Series.str.rstrip:
df['new'] = df.eq(df.max(axis=1), axis=0).dot(df.columns + ',').str.rstrip(',')添加回答
举报
0/150
提交
取消
