當前位置:
首頁 > 最新 > 福布斯系列之數據清洗(3)

福布斯系列之數據清洗(3)

用Python進行數據分析項目實戰之福布斯系列文章,目前已發布的相關文章如下:

1 前言

本文作為數據清洗的第三篇,內容包含福布斯全球上市企業2000強排行榜數據中2011-2015年數據的初步處理過程。

福布斯全球上市企業2000強排行榜數據,從2007年到2017年,各個年份的數據都存在一些不規範的地方。

本文以2013年為例,描述2011年至2015年的數據清洗過程。

本項目運行環境:

windows7

jupyter notebook

Python 3.5

2 數據清洗的目的

將不規範的數據進行處理,包括:

檢查數據完整性

去除重複內容

替換NaN值

將字元串型數字轉換為數字類型

將數字後面多餘的字母等文字剔除

將公司和國家進行拆分

按列名將DataFrame重新排序

最終達到的效果如下:

數據清洗後

數據類型

圖1:

3 2013年數據清洗的詳細過程

導入相關python庫

2013年的數據,由於初始爬取的數據不完整,後續又查找了另外2個數據源,所以共有3個數據源,下面分別介紹。

3.1 數據源1

從csv文件中讀取數據

數據源1中,2013年的數據只有1991條記錄,數據可能有缺失,待進一步核實。

3.2 數據源2

2013年的數據在網上繼續尋找,發現Economy Watch網站有相關數據,於是進行數據爬取。前文《福布斯系列之補充數據收集 Python數據分析項目實戰》已描述了從該網站獲取數據的過程。

從csv文件中讀取數據

發現數據只有1984條記錄,也缺少相關記錄,需要繼續尋找其他記錄。

3.3 數據源3

後來,找到一個excel文件,發現其數據記錄是完整的,於是用該文件。

首先,從csv文件中讀取數據

這裡在前面兩篇數據清洗文章的基礎上,將數據清洗的過程整合到一起了。處理過程如下:

請注意,2013年的數據,sales、Profits、Assets及Market_value列的本身就是為數字類型,不需要進一步處理。

4 2015年的個別情況

在前文《福布斯系列之數據完整性檢查 Python數據分析項目實戰》提到,2015年的企業數量有重複的,因此,在數據處理過程中,需要剔除重複的內容。

去重的代碼如下:

查看是否還有重複的內容:

通過查看結果可知,已無重複內容。

2015年的其他處理過程與2013年類似,就不做進一步描述了。

5 總結

2011年至2015年的數據,相互之間的相似度較高,數據清洗與處理過程和2013年的基本類似,具體過程就不再詳細描述了(提供源代碼供參考)。

2011年-2015年的數據,Sales、Profits、Assets及Market_value列的本身就是數字類型,可以在後續分析時計算使用,所以不需要像2008-2010年的數據那樣處理。

結合前文2007年-2010年的數據清洗,將2007-2015年的數據清洗的代碼合併到一起。

細心的同學可能會發現,本次依然沒有提到針對國家數據的規整,因為國家數據的規整將統一到最後進行處理,敬請後續關注。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 公眾號 的精彩文章:

《仰望之中的領悟》

TAG:公眾號 |