[英]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 系列,並使用argmax
或idxmax
函數請求最大元素的索引:
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.