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
文本的列:
这就是魔法,我没有找到这个函数,非常感谢!