人力和財(cái)務(wù)工作中常會用到的Pandas代碼
各部門有多少名員工?
員工總體流失率是多少?
員工平均薪資是多少?
員工平均工作年限是多少?
公司任職時(shí)間最久的3名員工是誰?
員工整體滿意度如何?
import pandas as pddata = pd.read_excel(r'英雄聯(lián)盟員工信息表.xlsx', index_col='工號')# 訪問columns屬性,查看列字段data.columns# 訪問index屬性,查看行標(biāo)記data.index# 訪問values屬性,查看數(shù)據(jù)集data.values

(單擊查看大圖)
# 調(diào)用head方法,查看前5行data.head()# 調(diào)用tail方法,查看后5行data.tail()# 查看指定列的前5行data['部門'].head()

(單擊查看大圖)
# 對原數(shù)據(jù)集增加一列獎(jiǎng)金列,數(shù)額為薪資的20%data['獎(jiǎng)金'] = data['薪資']*0.2data['獎(jiǎng)金'].head()# loc方法,根據(jù)索引列訪問數(shù)據(jù)集idx = ['lol-1','lol-2','lol-3','lol-7']data.loc[idx]

# 查看重復(fù)數(shù)據(jù)條(bool結(jié)果為True代表重復(fù))data.duplicated()# 查看有多少條重復(fù)數(shù)據(jù)data.duplicated().sum() # 結(jié)果:2# 查看重復(fù)數(shù)據(jù)data[data.duplicated()]# 刪除重復(fù)數(shù)據(jù)條,inplace參數(shù)代表是否在原數(shù)據(jù)集進(jìn)行刪除data.drop_duplicates(inplace=True)# 再次查看是否全部去重data.duplicated().sum() # 結(jié)果: 0, 說明數(shù)據(jù)已經(jīng)唯一

(單擊查看大圖)
一、各部門有多少名員工?
# 頻數(shù)統(tǒng)計(jì)data['部門'].value_counts()# ascending = True代表升序展示data['部門'].value_counts(ascending=True)

(單擊查看大圖)
二、員工總體流失率是多少?
# 頻數(shù)統(tǒng)計(jì)data['狀態(tài)'].value_counts()# normalize=True, 獲得標(biāo)準(zhǔn)化計(jì)數(shù)結(jié)果data['狀態(tài)'].value_counts(normalize=True)# 展示出員工總體流失率rate = data['狀態(tài)'].value_counts(normalize = True)['離職']rate

(單擊查看大圖)
三、員工平均薪資是多少?

(單擊查看大圖)
由上圖的結(jié)果可以看出,平均薪資在16800元,你達(dá)到了嗎?!允許你去哭一會o(╥﹏╥)o!
四、員工平均工作年限是多少?
五、公司任職時(shí)間最久的3名員工是誰?
# describe方法也是常用的一種方法,而且結(jié)果更全面data['工齡'].describe()# 通過降序排序、切片操作,找到待的最久的三名員工data['工齡'].sort_values(ascending=False)[:3]ID = data['工齡'].sort_values(ascending=False)[:3].indexdata.loc[ID]

(單擊查看大圖)
六、員工整體滿意度如何?
data['滿意度'].head()# 通過查看滿意度前五行發(fā)現(xiàn),不太直觀,我們可以用map進(jìn)行映射,先建立一個(gè)映射字典JobSatisfaction_cat = {1:'非常滿意',2:'一般般吧',3:'勞資不爽'}data['滿意度'].map(JobSatisfaction_cat)# 對原數(shù)據(jù)集進(jìn)行滿意度映射data['滿意度'] = data['滿意度'].map(JobSatisfaction_cat)data['滿意度'].head()

(單擊查看大圖)
接下來,進(jìn)行員工整體滿意度分析。通過計(jì)算可以得出:70%員工都比較認(rèn)可公司,但仍有30%員工對公司不滿意。人力主管以及部門主管需要進(jìn)一步探究清楚這30%員工的情況,因?yàn)椴粷M意是否已經(jīng)離職?還是存在隱患?是否處于核心崗位等等問題值得我們進(jìn)一步探究。
data.head()# 頻數(shù)統(tǒng)計(jì)data['滿意度'].value_counts()# 獲得標(biāo)準(zhǔn)化計(jì)數(shù)結(jié)果,考慮到百分比更能說明滿意度情況,所以乘100展示100*data['滿意度'].value_counts(normalize=True)

(單擊查看大圖)
_往期文章推薦_
評論
圖片
表情
