我需要获取特定行具有最大值的列名。
a b c
0 2 2 1
1 1 5 5
2 1 1 5
3 1 1 3
4 5 4 1
5 5 2 5
我希望在index = 2中进行搜索时会得到列c,而在index = 4中进行搜索时会得到列a。
我尝试了this solution,但是没有用。 在我的真实df中,当我使用df.info()检查时,它表明Dtype是对象而不是数字。
答案 0 :(得分:0)
我通过将Dtype从对象转换为 float
找到了解决方案Find the column name which has the maximum value for each row
然后我申请了
Find the column name which has the maximum value for each row
答案 1 :(得分:0)
您写道 dtype 是 object ,但另一方面,您的数据 样本仅包含 个整数,我认为它是一个代表 样本。
所以第一步是将 dtype 更改为 int :
df = df.astype(int)
然后使用以下功能:
def maxColName(df, ind):
return df.loc[ind].idxmax()
或者您可以删除 df 参数并将此名称用作全局变量:
def maxColName(ind):
return df.loc[ind].idxmax()