簡體   English   中英

獲取數據框中列中 n 個最大值的索引

[英]Get the index of n maximum values in a column in dataframe

我有一個數據框,我想獲取每行中 4 個最大值的索引和值。 例如,在下面的df中,a列中,10、6、7、8是四個最大值。

import pandas as pd
df = pd.DataFrame()
df['a'] = [10, 2, 3, -1,4,5,6,7,8]
df['id'] = [100, 2, 3, -1,4,5,0,1,2]
df

我想要的輸出是:

在此處輸入圖像描述

嘗試最大,

df.nlargest(4, 'a').reset_index()

輸出:

   index   a   id
0      0  10  100
1      8   8    2
2      7   7    1
3      6   6    0

您可以對a列進行排序

out = (df.sort_values('a', ascending=False).iloc[:4]
       .sort_index(ascending=True)
       .reset_index())
print(out)

   index   a   id
0      0  10  100
1      6   6    0
2      7   7    1
3      8   8    2

暫無
暫無

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

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