Python技巧分享之groupby基礎(chǔ)用法詳解
模擬數(shù)據(jù)
import pandas as pd import numpy as np
employees = ["小明","小周","小孫","小王","小張"] # 5位員工 time = ["上半年", "下半年"] df=pd.DataFrame({ "employees":np.random.choice(employees,10), # 在員工中重復(fù)選擇10次 # 另一種寫法 #"employees":[employees[x] for x in np.random.randint(0,len(employees),10)], "time":np.random.choice(time,10), "salary":np.random.randint(800,1000,10), # 800-1000之間的薪資選擇10個數(shù)值 "score":np.random.randint(6,12,10) # 6-11的分?jǐn)?shù)選擇10個 }) df
groupby+單個字段+單個聚合
求解每個人的總薪資金額:
total_salary = df.groupby("employees")["salary"].sum().reset_index() total_salary
使用agg也能夠?qū)崿F(xiàn)上面的效果:
df.groupby("employees").agg({"salary":"sum"}).reset_index()
df.groupby("employees").agg({"salary":np.sum}).reset_index()
groupby+單個字段+多個聚合
求解每個人的總薪資金額和薪資的平均數(shù):
方法1:使用groupby+merge
mean_salary = df.groupby("employees")["salary"].mean().reset_index() mean_salary
然后將上面的兩個結(jié)果進(jìn)行組合;在合并之前為了字段的名字更加的直觀,我們重命名下:
total_salary.rename(columns={"employees":"total_salary"}) mean_salary.columns = ["employees","mean_salary"]
total_mean = total_salary.merge(mean_salary) total_mean
方法2:使用groupby+agg
total_mean = df.groupby("employees")\ .agg(total_salary=("salary", "sum"), mean_salary=("salary", "mean"))\ .reset_index() total_mean
groupby+多個字段+單個聚合
針對多個字段的同時聚合:
df.groupby(["employees","time"])["salary"].sum().reset_index()
# 使用agg來實(shí)現(xiàn) df.groupby(["employees","time"]).agg({"salary":"sum"}).reset_index()
groupby+多個字段+多個聚合
使用的方法是:
agg(’新列名‘=(’原列名‘, ’統(tǒng)計(jì)函數(shù)/方法‘))
df.groupby(["employees","time"])\ .agg(total_salary=("salary", "sum"), mean_salary=("salary", "mean"), total_score=("score", "sum") )\ .reset_index()
到此這篇關(guān)于Python技巧分享之groupby基礎(chǔ)用法詳解的文章就介紹到這了,更多相關(guān)Python groupby用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python?groupby函數(shù)實(shí)現(xiàn)分組選取最大值與最小值
- Python?groupby函數(shù)圖文詳解
- python groupby函數(shù)實(shí)現(xiàn)分組后選取最值
- 詳解python中g(shù)roupby函數(shù)通俗易懂
- python groupby 函數(shù) as_index詳解
- Python DataFrame.groupby()聚合函數(shù),分組級運(yùn)算
- Python中的groupby分組功能的實(shí)例代碼
- Python在groupby分組后提取指定位置記錄方法
- Python正則表達(dá)式中g(shù)roup與groups的用法詳解
相關(guān)文章
pytorch實(shí)現(xiàn)mnist手寫彩色數(shù)字識別
這篇文章主要介紹了pytorch-實(shí)現(xiàn)mnist手寫彩色數(shù)字識別,文章圍繞主題展開詳細(xì)的內(nèi)容姐介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Python中Dict兩種實(shí)現(xiàn)的原理詳解
在Python中,?Dict是一系列由鍵和值配對組成的元素的集合,?它是一個可變?nèi)萜髂P?,可以存儲任意類型對象。本文主要介紹了Dict兩種實(shí)現(xiàn)的原理,感興趣的可以了解一下2023-03-03pytest利用request?fixture實(shí)現(xiàn)個性化測試需求詳解
這篇文章主要為大家詳細(xì)介紹了pytest如何利用request?fixture實(shí)現(xiàn)個性化測試需求,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-09-09Python實(shí)現(xiàn)圖形用戶界面和游戲開發(fā)的方法和技巧
GUI圖形用戶界面編程,我們可以通過python提供的豐富的組件,快速的實(shí)現(xiàn)使用圖形的界面和用戶交互, GUI編程類似于“搭積?”,將?個個組件(Widget)放到窗?中,這篇文章主要給大家介紹了基于Python的GUI圖形用戶界面編程的相關(guān)資料,需要的朋友可以參考下2023-05-05python抓取京東商城手機(jī)列表url實(shí)例代碼
python抓取京東商城手機(jī)列表url實(shí)例分享,大家參考使用吧2013-12-12python構(gòu)造icmp echo請求和實(shí)現(xiàn)網(wǎng)絡(luò)探測器功能代碼分享
本文分享了二個python示例,python構(gòu)造icmp echo請求、實(shí)現(xiàn)網(wǎng)絡(luò)探測器功能代碼,類似nmap功能2014-01-01Python 異步協(xié)程函數(shù)原理及實(shí)例詳解
這篇文章主要介紹了Python 異步協(xié)程函數(shù)原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11