小编Vro*_*Vro的帖子

pandas DataFrame中最大值对应的列名

对于以下数据框数据:

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)

python dataframe python-3.x pandas

3
推荐指数
2
解决办法
3045
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1

python-3.x ×1