Python 熊猫:找到最大值的列名,我需要用星号文本过滤列?

Python 熊猫:找到最大值的列名,我需要用星号文本过滤列?,python,pandas,Python,Pandas,我有这样的数据 因此,我将每个等级(星星)的百分比存储到熊猫中,如下所示 例如,现在我想获取最大值的列名 1_star 2_star 3_star 4_star 5_star 0.023 0.112 0.474 0.316 0.075 ## returns 3_star 我怎么做 我发现答案非常适合我的情况,但似乎太复杂了。毕竟,我可以通过df.max()获得最大值,为什么获取最大值的列名如此复杂?似乎您需要使用选择行来系列: print (df) 1_st

我有这样的数据

因此,我将每个等级(星星)的百分比存储到熊猫中,如下所示

例如,现在我想获取最大值的列名

1_star  2_star  3_star  4_star  5_star
0.023   0.112   0.474   0.316   0.075

## returns 3_star
我怎么做

我发现答案非常适合我的情况,但似乎太复杂了。毕竟,我可以通过
df.max()
获得最大值,为什么获取最大值的列名如此复杂?

似乎您需要使用选择行来
系列

print (df)
   1_star  2_star  3_star  4_star  5_star
0   0.023   0.112   0.474   0.316   0.075

print (df.iloc[0].idxmax())
3_star
print (df.idxmax(axis=1))
如果需要所有
数据帧的值
使用-输出为
系列

print (df)
   1_star  2_star  3_star  4_star  5_star
0   0.023   0.112   0.474   0.316   0.075

print (df.iloc[0].idxmax())
3_star
print (df.idxmax(axis=1))
您还可以通过以下方式
仅过滤
\u-star
文本的列:


这就是魔法,我没有找到这个函数,非常感谢!