簡體   English   中英

在整個數據框中查找最大值和相應的列/索引名稱

[英]Find max value and the corresponding column/index name in entire dataframe

我想選擇數據框中的最大值,然后找出該值的索引和列名。 有沒有辦法做到這一點?

說,在下面的例子中,我想先找到最大值( 31 ),然后返回該值的索引和列名(20, R20D)

a = pd.DataFrame({'R05D':[1,2,3],'R10D':[7,4,3],'R20D':[31,2,4]},index=[20,25,30])

謝謝!

如果你調用a.max(axis=0)你會得到每列的一系列最大值:

R05D     3
R10D     7
R20D    31
dtype: int64

如果你在那個系列上調用max你會得到最大值,所以:

a.max(axis=0).max()
#31

給你最大的價值。 同樣:

a.max(axis=0).idxmax()
#R20D

給你列名和

a.max(axis=1).idxmax()
#20

會給你行。

將您的數據幀轉換為 MultipleIndex 系列,並使用argmaxidxmax函數請求最大元素的索引:

coord = a.stack().argmax()
coord
(20, 'R20D')

要獲取該值,請使用針對loc的坐標:

df.loc[coord]
31

由於我無法以我有限的聲譽發表評論,這里是@Boud 答案的額外答案:它對我來說argmax() ,但使用idxmax()解決了問題並返回了(20, "R20D")

coord = a.stack().idxmax()
coord
(20, 'R20D')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM