只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具

1)

自從小夥伴們看了我在各個平臺寫的文章,挺多人私信我說數據分析怎麼入門?其實說來慚愧,我並不是專職做數據分析,雖然平時工作很多時候也會和數據打交道,但我的主要方向還是偏向於算法、工程應用,也許下一份工作會做數據分析吧,不過那是後話了。雖說如此,但我覺得,學會了一些相對底層的技術,其他方向那也不在話下,比如很多人都知道我爬取B站幾百萬的視頻資源,

並且我寫成了一篇文章,然後被三位百萬級微博大v轉載了(由於我後來改了公號名稱為【暮秋君】,結果這波保底5000+的流量白白損失了,直接哭暈在廁所),就只是花了半天時間學習爬蟲,然後一切就順利的搞定了。這就像張無忌學會了九陽神功,其他武林絕學自然就能快速掌握並精通。

無論是python數據分析、python自動化辦公,還是爬蟲等,都離不開python的三大法寶:numpy、pandas、matplotlib。無論你用python做什麼,這三兄弟都會一遍又一遍的出現在你面前,做數據分析pandas尤其重要。但是今天,我要給大家推薦另外一個工具庫:pandas-profiling。簡直不要太強大,一行代碼生成數據報表,能大大提高你前期處理數據的效率。廢話就不多說了,下面開始實戰演習(小板凳要坐穩咯,哈哈)


2)

在做數據分析之前,我們都會希望能對這批數據有一個大致的理解,比如:有多少特徵、每個特徵的取值情況、異常數據、中位數、方差、特徵之間的相關性等等。這個過程其實有一個專業的說法叫做:探索性數據分析(EDA)。這些分析可以調用pandas裡面的info、head、describe等函數,但其實步驟也不少,並且有些統計量依然需要自己寫代碼才能得到。好了,下面就是今天的主角出場了。

3)

這裡,我用kaggle上經典的泰坦尼克號的數據作為例子,能比較清楚的說明問題。

代碼如下:

<code>import seaborn as sns
import pandas as pd
import pandas_profiling
import matplotlib.pyplot as plt/<code>

這裡就是加載數據,seaborn庫封裝了加載泰坦尼克號的函數,不用再去網上下載了。下面我們看看前五行數據:

只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具

數據的每一行都是乘客的基本信息,每一列是乘客的信息特徵,具體代表的含義,看著英文基本都能猜出大概。什麼,看不懂單詞?那趕緊去背四級單詞吧,不然等著跟我一樣畢業了還沒過四級吧哈哈!

最關鍵的一行代碼來了:

<code>pandas_profiling.ProfileReport(data)/<code>

就這一行代碼,可以生成一個亮瞎我眼的數據報表,來看看。


只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具

是不是非常酷炫。最終的分析結果也是非常豐富的,下面我就詳細的講解一下這個報表裡面的內容。

3.1


只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具


這部分是整個數據的一個綜述。

Dataset info:統計了變量個數、數據總條數、異常值的百分比、數據佔用的內存大小、每條記錄佔用的平均內存大小。

Variables types:統計了每個變量的類型。

Warning:這是在提醒我們需要注意的零值、缺失值、重複行等特殊數據。


3.2


只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具


這一部分是針對每個變量(特徵),給出一些基本的信息,由於一共有15個變量,我就只介紹最具有代表性的age變量。

給出了變量的不同取值數量以及佔的百分比、缺失值的數量及百分比、均值、最大最小值、無窮值。

statistics:絕大多數的數學統計量,均值、方差、協方差、中位數、求和、Q1值等等。

Histogram:頻數分佈直方圖

Common value:頻率分佈表

Extreme value:給出了最大和最小的五個值的頻率頻數表


3.3

只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具


這部分給出了皮爾遜相關係數矩陣,可以直觀的看到每個變量之間的相關性。從而有利於後期的數據建模。


4)

只因在“人群”中多看了你一眼,我便愛上了這個數據分析工具


最後,再給出了前五行數據樣例,更加直觀的看到數據的真實樣子。

整個報表就介紹完了,有木有感覺到功能非常強大啊,一鍵生成數據報表。並且這個工具對於常年和excel打交道的小夥伴來說,簡直是福音啊,省去了很多中間繁雜的數據整理篩選過程。


分享到:


相關文章: