【Python】安利 3 个 pandas 数据探索分析神器!
EDA是數據分析必須的過程,用來查看變量統計特征,可以此為基礎嘗試做特征工程。東哥這次分享3個EDA神器,其實之前每一個都分享過,這次把這三個工具包匯總到一起來介紹。
1. Pandas_Profiling
這個屬于三個中最輕便、簡單的了。它可以快速生成報告,一覽變量概況。首先,我們需要安裝該軟件包。
安裝成功后即可導入數據直接生成報告了。
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/
原創不易,來個三連支持下。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件
本站qq群851320808,加入微信群請掃碼:
總結
以上是生活随笔為你收集整理的【Python】安利 3 个 pandas 数据探索分析神器!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax同步
- 下一篇: 搜狐视频怎么更改头像