对于以下数据框数据:
x y a b c
2 6 12 1 2
1 2 4 6 8
Run Code Online (Sandbox Code Playgroud)
我想要新列(即 d)的结果,该列仅在 a、b、c 之间返回具有最大值的列名称。
cols
a
c
Run Code Online (Sandbox Code Playgroud)
我试图从三列中找到最大值并返回列名。但是我不想选择数据集的所有行,而是只选择这三列的行。我使用以下代码:
def returncolname(row, colnames):
return colnames[np.argmax(row.values)]
data['colmax'] = data.apply(lambda x: returncolname(x, data.columns), axis=1)
Run Code Online (Sandbox Code Playgroud)