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!
推薦閱讀:
- python groupby函數實現分組選取最大值與最小值
- Python groupby函數圖文詳解
- pandas 實現某一列分組,其他列合並成list
- pandas groupby分組對象的組內排序解決方案
- Pandas高級教程之Pandas中的GroupBy操作