让我们看一下这个小数据框:
df = pd.DataFrame(dict(Name=['Jason_Fly','Alan_Smith','Steve_Rowland'], Col1=[1,2,3], Col2=[1,3,9],Col3=[5,6,8]))
Name Col1 Col2 Col3
0 Jason_Fly 1 1 5
1 Alan_Smith 2 3 6
2 Steve_Rowland 3 9 8
我想在数据框中获得最大值,并带有相关列的名称和索引(或者理想情况下,具有Name列中的对应值)。
预期输出:最多:9对应栏:Col2对应指数:2 |列名称中的对应值:Steve_Rowland
我该怎么办?
将Name
列转换为index
,因此可以获取每列和行的第一个最大值并使用Series.idxmax
:
Series.idxmax
另一个解决方案是获取最大值的位置并索引第一个匹配值:
df1 = df.set_index('Name')
max1 = df1.to_numpy().max()
print (max1)
9
c = df1.max(axis=0).idxmax()
print (c)
Col2
n = df1.max(axis=1).idxmax()
print (n)
Steve_Rowland