python數(shù)據(jù)分析之員工個(gè)人信息可視化
一、實(shí)驗(yàn)?zāi)康?/h2>
(1)熟練使用Counter類進(jìn)行統(tǒng)計(jì)
(2)掌握pandas中的cut方法進(jìn)行分類
(3)掌握matplotlib第三方庫(kù),能熟練使用該三方庫(kù)庫(kù)繪制圖形
二、實(shí)驗(yàn)內(nèi)容
采集到的數(shù)據(jù)集如下表格所示:
三、實(shí)驗(yàn)要求
1.按照性別進(jìn)行分類,然后分別匯總男生和女生總的收入,并用直方圖進(jìn)行展示。
2.男生和女生各占公司總?cè)藬?shù)的比例,并用扇形圖進(jìn)行展示。
3.按照年齡進(jìn)行分類(20-29歲,30-39歲,40-49歲),然后統(tǒng)計(jì)出各個(gè)年齡段有多少人,并用直方圖進(jìn)行展示。
import pandas as pd import matplotlib.pyplot as plt from collections import Counter info = [{"name": "E001", "gender": "man", "age": "34", "sales": "123", "income": 350}, {"name": "E002", "gender": "feman", "age": "40", "sales": "114", "income": 450}, {"name": "E003", "gender": "feman", "age": "37", "sales": "135", "income": 169}, {"name": "E004", "gender": "man", "age": "30", "sales": "139", "income": 189}, {"name": "E005", "gender": "feman", "age": "44", "sales": "117", "income": 183}, {"name": "E006", "gender": "man", "age": "36", "sales": "121", "income": 80}, {"name": "E007", "gender": "man", "age": "32", "sales": "133", "income": 166}, {"name": "E008", "gender": "feman", "age": "26", "sales": "140", "income": 120}, {"name": "E009", "gender": "man", "age": "32", "sales": "133", "income": 75}, {"name": "E010", "gender": "man", "age": "36", "sales": "133", "income": 40} ] # 讀取數(shù)據(jù) def get_data(): df = pd.DataFrame(info)#DataFrame是一個(gè)以命名列方式組織的分布式數(shù)據(jù)集 df[["age"]] = df[["age"]].astype(int) # 數(shù)據(jù)類型轉(zhuǎn)為int df[["sales"]] = df[["sales"]].astype(int) # 數(shù)據(jù)類型轉(zhuǎn)為int return df def group_by_gender(df): var = df.groupby('gender').sales.sum()#groupby將元素通過(guò)函數(shù)生成相應(yīng)的Key,數(shù)據(jù)就轉(zhuǎn)化為Key-Value格式,之后將Key相同的元素分為一組 fig = plt.figure() ax1 = fig.add_subplot(211)#2*1個(gè)網(wǎng)格,1個(gè)子圖 ax1.set_xlabel('Gender') # x軸標(biāo)簽 ax1.set_ylabel('Sum of Sales') # y軸標(biāo)簽 ax1.set_title('Gender wise Sum of Sales') # 設(shè)置圖標(biāo)標(biāo)題 var.plot(kind='bar') plt.show() # 顯示 def group_by_age(df): age_list = [20, 30, 40, 50] res = pd.cut(df['age'], age_list, right=False) count_res = pd.value_counts(res) df_count_res = pd.DataFrame(count_res) print(df_count_res) plt.hist(df['age'], bins=age_list, alpha=0.7) # age_list 根據(jù)年齡段統(tǒng)計(jì) # 顯示橫軸標(biāo)簽 plt.xlabel("nums") # 顯示縱軸標(biāo)簽 plt.ylabel("ages") # 顯示圖標(biāo)題 plt.title("pic") plt.show() def gender_count(df): res = df['gender'].value_counts() df_res = pd.DataFrame(res) label_list = df_res.index plt.axis('equal') plt.pie(df_res['gender'], labels=label_list, autopct='%1.1f%%', shadow=True, # 設(shè)置陰影 explode=[0, 0.1]) # 0 :扇形不分離,0.1:分離0.1單位 plt.title('gender ratio') plt.show() print(df_res) print(label_list) if __name__ == '__main__': data = get_data() group_by_gender(data) gender_count(data) group_by_age(data)
到此這篇關(guān)于python數(shù)據(jù)分析之員工個(gè)人信息可視化的文章就介紹到這了,更多相關(guān)python員工信息可視化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)七個(gè)基本算法的實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)七個(gè)基本算法的實(shí)例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10python except異常處理之后不退出,解決異常繼續(xù)執(zhí)行的實(shí)現(xiàn)
這篇文章主要介紹了python except異常處理之后不退出,解決異常繼續(xù)執(zhí)行的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04python?服務(wù)器批處理得到PSSM矩陣的問(wèn)題
這篇文章主要介紹了python?服務(wù)器批處理得到PSSM矩陣,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Python filter()及reduce()函數(shù)使用方法解析
這篇文章主要介紹了Python filter()及reduce()函數(shù)使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09解決python 在for循環(huán)并且pop數(shù)組的時(shí)候會(huì)跳過(guò)某些元素的問(wèn)題
這篇文章主要介紹了解決python 在for循環(huán)并且pop數(shù)組的時(shí)候會(huì)跳過(guò)某些元素的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12深入了解python中的常見(jiàn)錯(cuò)誤類型與解決
在Python編程過(guò)程中,經(jīng)常會(huì)遇到各種錯(cuò)誤,了解這些錯(cuò)誤的類型以及如何處理它們是成為一位優(yōu)秀的Python開(kāi)發(fā)者所必備的技能之一,下面就跟隨小編一起學(xué)習(xí)一下python中的常見(jiàn)錯(cuò)誤類型吧2023-11-11