熊猫如何选择行具有最大值的列?

时间:2019-09-30 23:34:34

标签: python pandas

假设我有以下数据框:

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()]

2 个答案:

答案 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']