
作者:俊欣
來源:關(guān)于數(shù)據(jù)分析與可視化
隨著各行各業(yè)都在進行數(shù)字化轉(zhuǎn)型,數(shù)據(jù)方面的人才也成為了各家企業(yè)招聘的重點對象,不同數(shù)據(jù)類型的崗位提供的薪資待遇又是如何的?哪個城市最需要數(shù)據(jù)方面的人才、未來的發(fā)展前景與錢途又是怎么樣的?今天小編抓取了某互聯(lián)網(wǎng)招聘平臺上面的招聘信息,來為大家分析分析。我們大致會講
我們用Python當中的requests模塊來發(fā)送與接收請求,然后用BeautifulSoup模塊也解析返回的數(shù)據(jù),代碼如下
@retry(stop=stop_after_attempt(7)) def make_requests(url):
response = requests.get(url=url, headers=headers)
response_1 = BeautifulSoup(response.text, "lxml") return response_1
解析數(shù)據(jù)的代碼如下
def process_data(index, job_title, response_text):
response_2 = response_text.select("div.list__YibNq") for resp in response_2[0]: if resp.select("div.p-top__1F7CL a"):
job_titles = resp.select("div.p-top__1F7CL a")[0].get_text() else:
job_titles = "" if resp.select("span.money__3Lkgq"):
payments = resp.select("span.money__3Lkgq")[0].get_text() else:
payments = "" .........
然后最后將收集到的數(shù)據(jù)導(dǎo)出到excel當中,代碼如下
df = pd.DataFrame(
{"職位名稱": job_titles_list, "薪資待遇": payments_list, "工作年限": work_years_list, "公司名稱": company_name_list, "所處行業(yè)": industry_list, "崗位簡介": job_title_description_list}) path = "job_files/" if not os.path.exists(path): os.makedirs(path)
df.to_excel("./job_files/{}_{}.xlsx".format(job_title, index), index = False)
小編這次所抓取的崗位分別有“數(shù)據(jù)分析師”、“數(shù)據(jù)挖掘工程師”、“數(shù)據(jù)產(chǎn)品經(jīng)理”、“大數(shù)據(jù)開發(fā)工程師”以及“數(shù)據(jù)運營助理”等等,接下來我們就針對所收集到的數(shù)據(jù)進行清洗與進一步的處理吧
我們用到的是Pandas模塊,首先先導(dǎo)入所有收集到的數(shù)據(jù)
import pandas as pd import os
df_all = pd.DataFrame(columns=["職位名稱", "薪資待遇", "工作年限", "公司名稱", "所處行業(yè)", "崗位簡介"]) for file in os.listdir("./job_files"):
df = pd.read_excel("./job_files/" + file)
df_all = df_all.append(df, ignore_index=True)
我們來看一下最終的數(shù)據(jù)集長什么樣子
print(df_all.info())
output
<class 'pandas.core.frame.DataFrame'> RangeIndex: 2238 entries, 0 to 2237 Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 職位名稱 2238 non-null object 1 薪資待遇 2238 non-null object 2 工作年限 2238 non-null object 3 公司名稱 2238 non-null object 4 所處行業(yè) 2234 non-null object 5 崗位簡介 2238 non-null object dtypes: object(6)
memory usage: 105.0+ KB
數(shù)據(jù)集當中或許存在重復(fù)的內(nèi)容,我們用drop_duplicates()方法來進行重復(fù)項的去除
df_all_1 = df_all.drop_duplicates()
df_all_1.info()
output
<class 'pandas.core.frame.DataFrame'> Int64Index: 2207 entries, 0 to 2237 Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 職位名稱 2207 non-null object 1 薪資待遇 2207 non-null object 2 工作年限 2207 non-null object 3 公司名稱 2207 non-null object 4 所處行業(yè) 2203 non-null object 5 崗位簡介 2207 non-null object dtypes: object(6)
memory usage: 120.7+ KB
df_all_1 = df_all_1.dropna(axis = 0, how = "any")
df_all_1.info()
output
<class 'pandas.core.frame.DataFrame'> Int64Index: 2203 entries, 0 to 2237 Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 職位名稱 2203 non-null object 1 薪資待遇 2203 non-null object 2 工作年限 2203 non-null object 3 公司名稱 2203 non-null object 4 所處行業(yè) 2203 non-null object 5 崗位簡介 2203 non-null object dtypes: object(6)
memory usage: 120.5+ KB
接下來為了方便對薪資數(shù)據(jù)進行統(tǒng)計分析,我們對此也需要進行相對應(yīng)的處理
df_all_1["薪資待遇"] = df_all_1["薪資待遇"].str.replace("k", "000")
我們先來看薪資上面的差距,根據(jù)不同的職位名稱來看,例如我們來看“數(shù)據(jù)產(chǎn)品經(jīng)理”這個崗位
df_all_1[df_all_1["職位名稱"].str.contains("產(chǎn)品經(jīng)理")]['薪資待遇'].value_counts().head(5)
output
20000-40000 66 15000-30000 48 15000-25000 46 20000-30000 27 25000-50000 26 Name: 薪資待遇, dtype: int64
較多的是集中在20K-40K這個范圍當中,具體我們可以通過下面這個可視化的結(jié)果來看
我們可以發(fā)現(xiàn)的是整體的市場中“數(shù)據(jù)產(chǎn)品經(jīng)理”這個崗位的整體待遇是相對更好一點的,其次便是“數(shù)據(jù)挖掘工程師”這個崗位,薪資一般也比較容易達到20K-40K之間的區(qū)間
接下來我們來看一下哪些城市對數(shù)據(jù)方面的人才需求是最多的,
df_all_1["城市分布"] = df_all_1["職位名稱"].apply(lambda x: x.split("[")[1].split("·")[0])
df_all_1["城市分布"].value_counts().head(10)
output
北京 702 上海 446 深圳 404 杭州 194 廣州 190 成都 68 武漢 57 西安 23 南京 18 蘇州 15 Name: 城市分布, dtype: int64
可以看到的是對于數(shù)據(jù)方面的人才需求最旺盛的仍然是北京,上海排在第二,與此同時呢,杭州在這方面的需求上面已經(jīng)超過了廣州,位列第四,同時在前十名當中成都、南京以及武漢與西安都紛紛上榜
接下來我們來看一下哪個行業(yè)所需要的數(shù)據(jù)方面的人才最多,
df_all_1["行業(yè)"] = df_all_1["所處行業(yè)"].apply(lambda x: x.split("|")[0].split("/")[0])
df_all_1["行業(yè)"].value_counts().head(10)
output
數(shù)據(jù)服務(wù) 175 內(nèi)容資訊,短視頻 155 軟件服務(wù) 141 科技金融 114 電商平臺 84 IT技術(shù)服務(wù) 68 企業(yè)服務(wù) 61 游戲 55 專業(yè)服務(wù) 52 消費生活 52 Name: 行業(yè), dtype: int64
從上面的結(jié)果中看到,除了“數(shù)據(jù)服務(wù)”行業(yè)之外,還有“內(nèi)容咨詢、短視頻”領(lǐng)域、“軟件服務(wù)”、“科技金融”、“電商平臺”、“IT技術(shù)服務(wù)”等領(lǐng)域?qū)τ跀?shù)據(jù)方面的人才都有著相當旺盛的需求
我們來看一下各家公司對于數(shù)據(jù)方面的人才,在學(xué)歷上又有何種要求呢?
df_all_1["學(xué)歷要求"] = df_all_1["工作年限"].apply(lambda x: x.split("/")[-1])
df_all_1["學(xué)歷要求"].value_counts()
output
本科 1922 碩士 119 不限 77 大專 73 博士 12 Name: 學(xué)歷要求, dtype: int64
一般來說僅僅是“本科”的學(xué)歷就可以了,當然還有少數(shù)的公司對于學(xué)歷的要求是局限在碩士之上
各家公司為了吸引越來越多的人才前往加入公司,也打出了各色各樣的標語,小編做了匯總,并且做成詞云圖,首先我們用jieba模塊對文本數(shù)據(jù)進行分詞
word_num = jieba.lcut(text, cut_all = False)
rule = re.compile(r"^[u4e00-u9fa5]+$")
word_num_selected = [word for word in word_num if word not in stop_words and re.search(rule, word) and len(word) >= 2]
接著我們使用stylecloud模塊來進行詞云圖的繪制
stylecloud.gen_stylecloud(text=" ".join(review_list), max_words=100, collocations=False,
font_path="KAITI.ttf", icon_name="fab fa-apple", size=653,
output_name="4.png")
output
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03