Skip to main content
 首页 » 编程设计

python之pandas DataFrame 中最大值对应的列名

2025年05月04日15hnrainll

<分区>

对于以下数据框数据:

x  y  a b c  
2  6 12 1 2 
1  2  4 6 8 

我想要新列(即 d)中的结果,它返回仅在 a、b、c 中具有最大值的列的名称。

cols 
a 
c 

我试图从三列中找到最大值并返回列名。但是我不想选择数据集的所有行,而是只想选择这三列的行。我使用以下代码:

def returncolname(row, colnames): 
    return colnames[np.argmax(row.values)] 
data['colmax'] = data.apply(lambda x: returncolname(x, data.columns), axis=1)