python groupby函數實現分組後選取最值

現在需要將course分組,然後選擇出每一組裡面的最大值和最小值,並保留下來

實現下面數據結果:

直接使用groupby函數,不能直接達到此效果,需要在groupby函數上添加apply和lambda函數

代碼如下:

import pandas as pd
data = pd.read_excel('group_apply.xlsx')
data1 = data.groupby('course').apply(lambda t: t[(t['grade']==t['grade'].min()) ^ (t['grade']==t['grade'].max())])

前面的index,是兩列,所以需要處理一下,這個是groypby函數處理之後所產生,隻需要刪除即可

data2 = data1.reset_index(drop=True)

代碼整合:

import pandas as pd
data = pd.read_excel('group_apply.xlsx')
data1 = data.groupby('course').apply(lambda t: t[(t['grade']==t['grade'].min()) ^ (t['grade']==t['grade'].max())])
data2 = data1.reset_index(drop=True)

寫入到excel中:

到此這篇關於python groupby函數實現分組後選取最值的文章就介紹到這瞭,更多相關python groupby 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: