【Python基础】安利3个Python数据分析EDA神器!
來源:Python數據科學
作者:東哥起飛
EDA是數據分析必須的過程,用來查看變量統計特征,可以此為基礎嘗試做特征工程。東哥這次分享3個EDA神器,其實之前每一個都分享過,這次把這三個工具包匯總到一起來介紹。
1. Pandas_Profiling
這個屬于三個中最輕便、簡單的了。它可以快速生成報告,一覽變量概況。首先,我們需要安裝該軟件包。
#?安裝Jupyter擴展widget? jupyter?nbextension?enable?--py?widgetsnbextension #?或者通過conda安裝 conda?env?create?-n?pandas-profiling conda?activate?pandas-profiling conda?install?-c?conda-forge?pandas-profiling #?或者直接從源地址安裝 pip?install?https://github.com/pandas-profiling/pandas-profiling/archive/master.zip安裝成功后即可導入數據直接生成報告了。
import?pandas?as?pd import?seaborn?as?sns mpg?=?sns.load_dataset('mpg') mpg.head()from?pandas_profiling?import?ProfileReport profile?=?ProfileReport(mpg,?title='MPG?Pandas?Profiling?Report',?explorative?=?True) profile使用Pandas Profiling生成了一個快速的報告,具有很好的可視化效果。報告結果直接顯示在notebook中,而不是在單獨的文件中打開。
總共提供了六個部分:概述、變量、交互、相關性,缺失值和樣本。
Pandas profiling的變量部分是完整的,它為每個變量都生成了詳細的報告。
從上圖可以看出,僅一個變量就有太多信息,比如可以獲得描述性信息和分位數信息。
交互
交互部分我們可以獲取兩個數值變量之間的散點圖。
相關性
可以獲得兩個變量之間的關系信息。
缺失值
可以獲取每個變量的缺失值計數信息。
樣本
可以顯示了數據集中的樣本行,用于了解數據。
2. Sweetviz
Sweetviz是另一個Python的開源代碼包,僅用一行代碼即可生成漂亮的EDA報告。與Pandas Profiling的區別在于它輸出的是一個完全獨立的HTML應用程序。
使用pip安裝該軟件包
pip?install?sweetviz安裝完成后,我們可以使用Sweetviz生成報告,下面嘗試一下。
import?sweetviz?as?sv #?可以選擇目標特征 my_report?=?sv.analyze(mpg,?target_feat?='mpg') my_report.show_html()從上圖可以看到,Sweetviz報告生成的內容與之前的Pandas Profiling類似,但具有不同的UI。
Sweetviz不僅可以查看單變量的分布、統計特性,它還可以設置目標標量,將變量和目標變量進行關聯分析。如上面報告最右側,它獲得了所有現有變量的數值關聯和類別關聯的相關性信息。
Sweetviz的優勢不在于單個數據集上的EDA報告,而在于數據集的比較。
可以通過兩種方式比較數據集:將其拆分(例如訓練和測試數據集),或者使用一些過濾器對總體進行細分。
比如下面這個例子,有USA和NOT-USA兩個數據集。
#?設置需要分析的變量 my_report?=?sv.compare_intra(mpg,mpg?[“?origin”]?==“?usa”,[“?USA”,“?NOT-USA”],target_feat?='mpg') my_report.show_html()不需要敲太多的代碼就可以讓我們快速分析這些變量,這在EDA環節會減少很多工作量,而把時間留給變量的分析和篩選上。
Sweetviz的一些優勢在于:
分析有關目標值的數據集的能力
兩個數據集之間的比較能力
但也有一些缺點:
變量之間沒有可視化,例如散點圖
報告在另一個標簽中打開
個人是比較喜歡Sweetviz的。
3.?pandasGUI
PandasGUI與前面的兩個不同,PandasGUI不會生成報告,而是生成一個GUI(圖形用戶界面)的數據框,我們可以使用它來更詳細地分析我們的Dataframe。
首先,安裝PandasGUI。
# pip安裝 pip?install?pandasgui # 或者通過源下載 pip?install?git+https://github.com/adamerose/pandasgui.git然后,運行幾行代碼試一下。
from?pandasgui?import?show # 部署GUI的數據集 gui?=?show(mpg)在此GUI中,可以做很多事情,比如過濾、統計信息、在變量之間創建圖表、以及重塑數據。這些操作可以根據需求拖動選項卡來完成。
比如像下面這個統計信息。
最牛X的就是繪圖器功能了。用它進行拖拽操作簡直和excel沒有啥區別了,操作難度和門檻幾乎為零。
還可以通過創建新的數據透視表或者融合數據集來進行重塑。
然后,處理好的數據集可以直接導出成csv。
pandasGUI的一些優勢在于:
可以拖拽
快速過濾數據
快速繪圖
缺點在于:
沒有完整的統計信息
不能生成報告
4.?結論
Pandas Profiling、Sweetviz和PandasGUI都很不錯,旨在簡化我們的EDA處理。在不同的工作流程中,每個都有自己的優勢和適用性,三個工具具體優勢如下:
Pandas Profiling 適用于快速生成單個變量的分析。
Sweetviz 適用于數據集之間和目標變量之間的分析。
PandasGUI適用于具有手動拖放功能的深度分析。
參考:
https://github.com/adamerose/pandasgui
https://github.com/pandas-profiling/pandas-profiling
https://github.com/fbdesignpro/sweetviz
https://towardsdatascience.com/
原創不易,來個三連支持下。
文末贈書福利 贈送新出的書籍《趣學Python算法100例》5本!由「機械工業出版社」贊助提供,如果等不及也可以入手一本學習。介紹:本書以通俗易懂的語言詳盡地介紹了用Python語言編寫的100個算法實例。這些實例大體上按照“問題描述→問題分析→算法設計→確定程序框架→程序編碼實現→運行結果→問題拓展”的流程進行講解,每個實例又根據實際需要有所取舍。這些實例兼顧了趣味性、實用性和可操作性,而且大多是圍繞一些經典算法問題展開的。參與方式:本篇文章底部「點贊」+「在看」+「留言」,文章內容相關的優質留言才可上墻!留言點贊數量最多前5位讀者將獲得這本書,截止時間「11月12日20:00」,最終獲贈者通過留言聯系我。 PS:禁止任何機器等惡意刷贊行為,發現之后立刻取消精選資格。 推薦閱讀 美國大選拜登獲勝!硅谷 Python 開發者用這種方式調侃懂王 騷操作!嵌套 JSON 秒變 Dataframe!我用 Python 寫了一個 PDF 轉換器!兩篇畢業論文致謝同一個女朋友?哈哈哈哈! 太震撼了!我用Python畫出全北京的公交線路動圖學習Anaconda一定要了解這幾件事 強勢回歸!比 Python 快 20% 的 Pyston v2.0 來了!????分享、點贊、在看,給個三連擊唄!????總結
以上是生活随笔為你收集整理的【Python基础】安利3个Python数据分析EDA神器!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数学基础】从零构建统计随机变量生成器之
- 下一篇: 【机器学习基础】算法工程师必备的机器学习