假设我有以下数据框:
df = pd.DataFrame({'A':[0.1,0.1,0.2],
'B': [0.22,0.2,0.22],
'C': [0.3, 0.2,0.333]})
df.index = list('abc')
df
A B C
a 0.1 0.22 0.300
b 0.1 0.20 0.200
c 0.2 0.22 0.333
如何选择索引b为最大值的所有列。
此处,索引B和C列的最大值为2。 因此,所需的答案是:
required_answer = ['B','C']
我的尝试:
df[df.loc['b'] ==df.loc['b'].max()]
答案 0 :(得分:2)
您可以尝试以下方法:
df.columns[df.loc['b'] == df.loc['b'].max()].tolist()
# ['B', 'C']
答案 1 :(得分:1)
我给您几个选择。首先是最好的:
[*df.columns[df.loc['b'].eq(df.loc['b'].max())]]
['B', 'C']
df.loc[:,df.loc['b'].eq(df.loc['b'].max())].columns.tolist()
['B', 'C']
[*df.T.index[df.loc['b'].eq(df.loc['b'].max())]]
['B', 'C']