v-model无法对返回的数据进行填写_学会数据分析思维,学会透过事物看本质
這段時間通過學習相關的知識,最大的變化就是看待事物更加喜歡去了解事物后面的本質,碰到問題后解決問題思路也發生了改變。
舉個具體的例子,我在學習數據分析,將來會考慮從事這方面的工作,需要掌握的相關專業知識這個問題暫且按下不表,那哪些具體的問題是我需要了解的呢,以下簡單羅列:
1、了解數據分析師這個崗位在各個地區的需求情況?
2、數據分析師的薪資待遇如何?
3、根據日后工作年限的增加,薪資待遇的增長情況會如何呢?
通過以上問題的簡單羅列,我已經完成了“我該怎樣進行數據分析?”的第一步:提出問題。那要進行數據分析,應該怎么做?
數據分析的流程:
第一步:提出問題;
我們應該明白,一切進行數據分析的行為(目的)都是為了解決我們生活和工作中遇到的問題,明確的問題為我們將要進行的數據分析提供了目標和方向。
第二步:理解數據,可分為以下兩步驟:
1、采集數據:根據研究的問題,采集相關的數據;
2、查看采集到的數據集信息,其中包括描述統計信息,從整體上理解數據。
第三步:數據清理(數據預處理);
很多數據在被采集到的時候不符合我們數據分析的標準,里面有很多“臟”數據或重復數據,這樣的數據我們就需要對它進行“整容”,把它處理成我們需要的樣子。
第四步:構建模型;
對清洗后的數據進行分析,一般簡單的要求是得出一些業務指標,復雜的可能需要運用機器學習算法來訓練這個模型對數據進行分析。
第五步:數據可視化;
在與他人交流我們得出的研究成果的時候,最好的方式就是運用圖表展現。把得出的分析結果運用圖表展示給你的上級(老板)或客戶。
當我們了解了數據分析的流程以后,我們就可以進行數據分析的操作了。回到上面提出的三個問題,有了明確的任務目標以后,那就是要進行第二步中的采集數據了,在這里我使用 Gooseeker 這一款免費的數據采集工具(爬蟲工具)去前程無憂(51job)收集關鍵詞“數據分析”的相關職位信息,在嘗試的過程中碰到了很多問題,最大的感觸就是任何一個小問題都可能導致你偏離所達成的目標很大一截,要充分學會使用搜索工具找尋相應解決方案,很多情況下都需要舉一反三的去理解。
接下來我們要進行第三步,數據清理。打開我們收集的相關數據(考慮到爬蟲工作的工作效能問題,我只爬取了杭州市的數據作為分析對象),首先我們根據最初提出的三個問題來簡單判斷哪些內容是我們需要的必要字段,哪些是不需要的,將不需要的字段所屬列進行隱藏處理,養成好的習慣,不要輕易刪除數據,這樣在我們有可能出錯的時候可以通過保留的數據找回。
在查看數據的時候發現從“職位名稱”往后一直到“薪資待遇”其中“學歷”、“招聘人數”、“發布時間”這三項顯示的都是“工作年限”的內容,說明我們在數據抓取的時候設置某個參數時出現了錯誤,依據第一步提出的三個問題做判斷,得出結論出錯的三項內容為非必要字段,將其做“隱藏”處理。注:如出錯的是必要字段,例如:“薪資待遇”,那就要重新收集數據處理。
依據 Gooseeker 爬取規則的原理(二級頁面依據上一級列表頁的鏈接爬取),在這里我們選擇用二級招聘信息內容展示頁鏈接為依據做去重操作,提示“未發現重復值”,說明我們采集的數據每一條都是唯一(具體步驟:選擇菜單欄中“數據”-“刪除重復值”-取消全選-選擇“內容頁鏈接”項)。
由于我選擇的數據是整個杭州市的“數據分析師”的招聘信息,用于判斷所屬“工作地點”將以“區”為依據展開,在查看數據的時候發現部分數據是以為城市為單位,這里需要對缺失值根據具體情況做出相應處理。
首先將“工作地點”整列復制到最后一列中進行“分列”操作(“分列”操作會把分出的數據列直接覆蓋到后一列,建議復制到最后列操作最為可靠)
通過“刷選”功能去除非杭州城市。注:由于后續其他地方依然會使用到“刷選”功能,所有需要將怎個工作表復制到新工作表中用于保存刷選后的結果。
當我執行復制整個表格到新的工作表中的時候,發現 Excel 直接卡死,并提示內存不足,多次嘗試后我發現原因是 Excel 工作表中有大量的隱藏列和行,或是使用“篩選”使大量的字段被隱藏后,在使用“全選”字段的時候再把大量的空白單元格也復制了(全選的時候連續按兩次 ctrl+a),這樣的情況就會出現上述問題,解決方案是只選擇有字段的單元格即可,如下圖:
當我執行完上述操作后,查看到“詳細地區”中有多處缺失值,可做如下處理:
1、首先通過通過“篩選”功能判定有多少缺失值,如果數量少,且容易通過人工甄別判斷,可根據具體情況補全對應缺失值;
2、如果通過“篩選”后發現缺失值是錯誤收錄,例如:所屬地區不屬于杭州,被HR錯誤的標記為杭州,那就做刪除處理;
3、如果存在大量的缺失值,且字段屬于未出錯字段,是由于書寫習慣或是對區域的理解不一樣,比如這份數據集中可能HR對于該職位在所屬公司工作性質定義為全市范圍內的,這樣的情況就會出現只有工作地點杭州,沒有具體所屬區域了,這樣的情況我們可以整體套用上級標注,全體標注為“杭州”。
通過篩選空白值可以得出判斷結果,詳細地區缺失值多達1145處,通過“定位”功能對所有缺失值進行標記,補全字段為杭州,并通過組合快捷鍵 ctrl+enter 將所有缺失值全部補全,如下圖:
在數據采集中經常會出現多個字段被自動放在了一個單元格中的情況,比如此數據集中的“公司概況”,其中包含了三部分內容:“公司性質”、“公司大小”“所屬行業”,在這里我們就要將其進行“分列”、一致化處理。
如上圖所示,在公司概況中公司性質、公司大小以及所屬行業之間是用“|”分割開的,我們可以用以作為“分列”的分割符號,但是首先需要通過整體替換功能去除空白值,如果是在“分列”之后再去除空白值會更加繁瑣,具體操作如下:
我們要了解杭州市數據分析師的薪資待遇情況就需要對薪資待遇進行拆分為“最低薪資”、“最高薪資”、“平均薪資”,需要運用到函數Left、Mid、Find、Len、Average;但是在此之前,我們通過“篩選”觀察可以看到個別“薪資待遇”HR填寫的方式不太一樣,例如:“XXX-XXX千/月”、“XXX-XXX萬/年”“XXX元/天”“XXX元/小時”以及空置未填寫,為了方便后續的一致化處理,首先做“分列”處理,把時間剝離。
通過“篩選”并刪除掉未填寫“薪資待遇”的無效數據,這里參考了 ExcelHome 論壇版主的方法:
Excel 篩選后的表,批量刪除時時提示“無法在篩選過的區域或表中移動單元格。”-Excel基礎應用-ExcelHome技術論壇 -?club.excelhome.net把其他單位的薪資待遇通過轉換為“XXX-XXX千”格式,如下圖:
通過“篩選”查詢發現有部分“薪資待遇”HR是按“年”書寫的,在此要通過公式換算為“月”,如下圖:
通過上述幾步操作以后,我已經成功的把之前五花八門的薪資書寫方式轉換成了統一的格式,其中嘗試過很多種方法,最重要的是要知道怎么去搜索自己想了解的一些函數,通過函數來達到轉換的目的,在這次轉換中我發現其實公式可以嵌套起來一起用,這樣就不需要分很多列去分布書寫,上圖就是我通過組合嵌套公式直接換算的,可以看到公式非常長:
=CONCATENATE(ROUND((LEFT(J2,FIND("-",J2)-1)/12),2),"-",ROUND((MID(J2,FIND("-",J2)+1,LEN(J2)-FIND("-",J2))/12),2))
以下是需要運用到函數Left、Mid、Right、Find、Len、Average、Round、Concatenate;
FIND:返回一個字符串在另一個字符串中出現的起始位置(區分大小寫)
語法:
FIND(find_text,within_text,start_num)
?Find_text: 要查找的字符串。用雙引號(表示空串)可匹配 Within_text 中的第一個字符,不能使用通配符;
?Within_text: 要在其中進行搜索的字符串;
?Start_num: 起始搜索位置,Within_text 中第一個字符的位置為 1。如果忽略,Start_num = 1。
LEFT:從一個文本字符串的第一個字符開始返回指定個數的字符
語法:
LEFT(text,num_chars)
?Text: 要提取字符的字符串;
?Num_chars: 要 LEFT 提取的字符數;如果忽略,為 1。
MID:從文本字符串中指定的起始位置起返回指定長度的字符
語法:
MID(text,start_num,num_chars)
?Text: 準備從中提取字符串的文本字符串;
?Start_num: 準備提取的第一個字符的位置。Text 中第一個字符為 1;
?Num_chars: 指定所要提取的字符串長度。
RIGHT:從一個文本字符串的最后一個字符開始返回指定個數的字符
語法
RIGHT(text,num_chars)
?Text: 要提取字符的字符串;
?Num_chars: 要提取的字符數;如果忽略,為 1。
AVERAGE:返回其參數的算術平均值;參數可以是數值或包含數值的名稱、數組或引用
語法:
AVERAGE(number1,number2,...)
?Number1: 必須。要計算平均值的第一個數字、單元格引用或單元格區域;
?Number2,...: 可選。要計算平均值的其他數字、單元格引用或單元格區域,最多可包含255個。
COUNT:計算區域中包含數字的單元格的個數
語法:
COUNT(value1,value2,...)
?Value1: value1,value2,...是1到255個參數,可以包含或引用各種不同類型的數據,但只對數字型數據進行計算。
ROUND:按指定的位數對數值進行四舍五入
語法:
ROUND(number,num_digits)
?Number1: 需要四舍五入的數值;
?Num_digits: 執行四舍五入時采用的位數。如果此參數為負數,則圓整到小數點的左邊;如果此參數為零,則圓整到最接近的整數。
CONCATENATE:將多個文本字符串合并成一個
語法:
CONCATENATE(text1,text2,...)
?Text1: text1,test2,... 是1到255個要合并的文本字符串。可以是字符串、數字或對單個單元格的引用。
當完成了上去轉換單位和時間等不同條件后將“薪資待遇”拆分成“最低薪水”、“最高薪水”、“平均薪水”就顯得異常簡單了,只是要注意當在求得“最低、最高薪水”以后求“平均薪水”之時需要先將文本格式的數字(求得的最低最高薪水的數值)轉換為數值,可通過復制單元格并使用“分列”來轉換,不然會提示被“被零除”錯誤。
繼續一致化處理數據,我們將對職位名稱進行篩選,剔除那些與“數據分析師”無關的職位,FIND 函數如果查詢的字段中不包含所查詢的文本所報錯,例如:=FIND({"數據分析","數據運營","分析師"},R5) ,返回的值是#VALUE!,使用 COUNT 函數后會變成含有被查詢文本返回數值1,不包含返回數值0,加上 IF 函數判斷,可以設置為返回“是”或“否”,例:=IF(COUNT(FIND({"數據分析","數據運營","分析師"},R2),R2),"是","否")
通過“篩選”工具把與數據分析無關的職業都隱藏以后,以“以最低薪水”為錨點排序收入情況,得到以下初步數據:最高平均薪水為41.665K/月,有效職位424個。
復制整張表格到新的工作表中用于數據“描述統計”得到以下數據
整個杭州總體薪資情況(平均K/月,例:濱江1年工作經驗平均薪資7946.00元),注:表中直接顯示杭州的區域是HR在發布招聘信息時為明確標注工作地所在區域,特用“杭州”代替,以下圖看無經驗的顯示比1年工作經驗的平均薪資要高應該是大量HR沒有填寫對應屬性所致。
按百分比劃分
從上去分析結果可以得出:
1、濱江區、西湖區、江干區發布的招聘信息相對比較多,大量的人才需求集中在3-7年工作經驗;
2、整個杭州市數據分析師的薪資平時在9.5K左右,中位數在7.5,相比互聯網其他崗位不算很出眾,但是發展潛力巨大,隨著工作年限的增加,薪資漲幅也還不錯;
3、將來從事數據分析相關工作可以考慮選擇其它城市發展,比如北上廣等超一線城市。
總結
以上是生活随笔為你收集整理的v-model无法对返回的数据进行填写_学会数据分析思维,学会透过事物看本质的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sift论文_卷积神经网络设计相关论文
- 下一篇: python深度神经网络量化_基于Pyt