省時(shí)提效,一款數(shù)據(jù)探索性分析工具 Pandasgui

在公眾號「python風(fēng)控模型」里回復(fù)關(guān)鍵字:學(xué)習(xí)資料
介紹
您在數(shù)據(jù)科學(xué)任務(wù)中使用 Pandas 庫多少次?幾乎每次!Pandas 是一個(gè)必不可少的庫,用于數(shù)據(jù)操作和以匯總表、可視化等形式從數(shù)據(jù)集中生成洞察力。
PandasGUI 是一個(gè)基于 Python 的庫,它有助于使用 GUI 將數(shù)據(jù)操作和匯總統(tǒng)計(jì)應(yīng)用于數(shù)據(jù)集。這意味著所有操作都將通過圖形用戶界面 (GUI) 執(zhí)行,但 Pandas 將用于在后臺執(zhí)行它們。
在本文中,我將帶您了解這個(gè)庫的所有功能,它如何生成交互式繪圖,以及如何訪問為通過 GUI 執(zhí)行的所有操作生成的自動 Python 代碼!

安裝
PandasGUI 是一個(gè) Python 包,可以通過 pip 包管理器安裝。注意:我建議使用 Python 3.8 及更高版本進(jìn)行安裝。另外,請確保創(chuàng)建一個(gè)單獨(dú)的環(huán)境(虛擬環(huán)境)并將庫安裝在該環(huán)境中。
創(chuàng)建虛擬環(huán)境(conda)
在終端中運(yùn)行這些命令
安裝 pandasgui
安裝該庫需要一點(diǎn)時(shí)間,因?yàn)樗囊蕾図?xiàng)非常重。
設(shè)置
首先,加載庫。我們對初始化應(yīng)用程序的 pandasGUI 庫的 show() 函數(shù)。
此功能可以通過兩種方式使用:
您可以直接實(shí)例化 pandasGUI 顯示功能,該功能將在沒有任何數(shù)據(jù)集的情況下打開應(yīng)用程序。
您可以將數(shù)據(jù)框傳遞給函數(shù),應(yīng)用程序?qū)⑻畛鋽?shù)據(jù)集的行和列。這樣,您可以同時(shí)加載多個(gè)數(shù)據(jù)集,繞過所有數(shù)據(jù)框?qū)ο蟮?show() 方法。
現(xiàn)在,我們將加載沒有任何數(shù)據(jù)集的應(yīng)用程序,
你會得到一個(gè)這樣的屏幕:

各種功能
現(xiàn)在,我們將逐步探索此應(yīng)用程序的所有功能。
加載數(shù)據(jù)集
要將數(shù)據(jù)集加載到應(yīng)用程序中,您有多種選擇:
將數(shù)據(jù)框?qū)ο髠鬟f給 show 函數(shù)
使用編輯菜單的“導(dǎo)入”選項(xiàng)手動添加
使用編輯菜單的“從剪貼板導(dǎo)入”從剪貼板導(dǎo)入數(shù)據(jù)框
使用調(diào)試菜單的“瀏覽樣本數(shù)據(jù)集”加載任何樣本數(shù)據(jù)集進(jìn)行測試。
將 CSV 文件拖放到應(yīng)用程序中
請參閱下面的 GIF:

屏幕操作
除了 pandasGUI 應(yīng)用程序提供的各種選項(xiàng)卡和菜單外,您還可以通過觸發(fā)顯示的 GUI 元素直接應(yīng)用一些操作:
1.顯示的數(shù)據(jù)集的所有單元格都是可編輯的。您可以單擊任何單元格并進(jìn)行編輯。它與您在 Excel 工作表中所做的非常相似。任何值都可以直接更改。
2.右鍵單擊列標(biāo)題將為您提供一個(gè)交互式列菜單,其中包含按升序、降序?qū)α羞M(jìn)行排序、將列移動到最末端或在范圍內(nèi)、將包含日期的列作為字符串解析為熊貓日期時(shí)間的選項(xiàng)格式,并刪除列選項(xiàng)。

3.通過拖動并選擇數(shù)據(jù)集的任何部分,您可以復(fù)制該部分并將其粘貼到 Excel 工作表的任何單元格中。它將自動轉(zhuǎn)換為表格格式,如應(yīng)用程序本身所示。

4.右鍵單擊左側(cè)面板上的數(shù)據(jù)框名稱,彈出從應(yīng)用程序中刪除數(shù)據(jù)框的選項(xiàng)。
過濾器
將過濾器應(yīng)用于數(shù)據(jù)集是任何數(shù)據(jù)科學(xué)任務(wù)中最重要的任務(wù)之一。它有助于隔離數(shù)據(jù)集的一部分并處理該隔離部分。在 Pandas 中,您通常使用比較、列的閾值或整個(gè)數(shù)據(jù)集來過濾數(shù)據(jù)。在 pandasGUI 中,您可以使用右側(cè)的“過濾器”選項(xiàng)卡執(zhí)行相同類型的過濾。
輸入過濾表達(dá)式,只顯示滿足條件的數(shù)據(jù)。請參閱下面的示例:

您可以應(yīng)用多個(gè)過濾器并使用左側(cè)的復(fù)選框啟用/禁用它們。請參閱下面的示例,其中應(yīng)用了多個(gè)文件管理器:

注意:所有過濾器都是在后臺使用“pandas.dataframe.query()”方法應(yīng)用的。
統(tǒng)計(jì)選項(xiàng)卡
統(tǒng)計(jì)數(shù)據(jù)在數(shù)據(jù)集所有特征的描述性視圖中起著重要作用。這些包含諸如百分位數(shù)之類的參數(shù),有助于深入了解數(shù)據(jù)的分布方式,均值(受影響的異常值)仍然可以告訴我們數(shù)據(jù)的中心,而標(biāo)準(zhǔn)差則告訴我們列數(shù)據(jù)在內(nèi)部變化的程度。標(biāo)準(zhǔn)差為 0 的列將毫無用處,因?yàn)檫@意味著該列的所有值都相同,這對預(yù)測目標(biāo)值毫無幫助。
要得出此類見解,請單擊統(tǒng)計(jì)選項(xiàng)卡,您將獲得數(shù)據(jù)類型、計(jì)數(shù)、唯一值數(shù)量、平均值、標(biāo)準(zhǔn)偏差和最小值-最大值的摘要。對于字符串類型的值,數(shù)值計(jì)算的參數(shù)(例如均值)將為空。

Grapher 選項(xiàng)卡
圖形和可視化是使用視覺元素呈現(xiàn)數(shù)據(jù)摘要的非常強(qiáng)大的工具。例如,分布圖可以幫助確定列值是否與正態(tài)分布/鐘形曲線一致,這簡化了我們確定總體參數(shù)和基于樣本得出結(jié)論的任務(wù)。
箱線圖有助于確定數(shù)據(jù)的分布,應(yīng)將多少值視為異常值。它還表示 50% 的數(shù)據(jù)所在的位置。其他類型的圖,如直方圖、條形圖、散點(diǎn)圖、折線圖、等高線圖,各有優(yōu)勢,因此繪制數(shù)據(jù)很重要。
要使用 pandasGUI 繪制此類可視化,只需切換到 Grapher 選項(xiàng)卡,您將獲得如下初始屏幕:

您可以選擇直方圖、散點(diǎn)圖、條形圖、箱線圖、小提琴圖、3D 散點(diǎn)圖、熱圖、等高線圖、餅圖、splom、燭臺、燭臺和詞云。所有這些圖都是使用后端的 Plotly 庫創(chuàng)建的,因此,這些圖本質(zhì)上是交互式的。
讓我們繪制一些數(shù)據(jù)。要進(jìn)行繪圖,只需選擇任何類型的繪圖,然后將列名稱從左側(cè)面板拖到右側(cè)提到的繪圖參數(shù)中。請參閱以下示例:

您可以看到,隨著“x”的增加,“價(jià)格”呈指數(shù)增長。由于情節(jié)后端,該情節(jié)本質(zhì)上是交互式的?!皒”、“y”、“顏色”等參數(shù)根據(jù)要顯示的圖而變化。例如,您不會獲得詞云的“x”、“y”參數(shù)。
讓我們?yōu)椴煌臄?shù)據(jù)集 Google Play 商店應(yīng)用評論繪制一個(gè)詞云,其中包含有關(guān)應(yīng)用反饋的文本信息:

列和參數(shù)面板底部提供了適用于每個(gè)圖的其他常用選項(xiàng)。這些包括:
自定義 kwargs:由于繪圖是 plotly,您可以添加 plotly express 支持的所有 kwargs。當(dāng)前參數(shù)可能受限于最佳用例,但您可以使用此選項(xiàng)傳遞自定義參數(shù)。例如,可以使用“l(fā)abels”參數(shù)將列“x”的默認(rèn)名稱更改為其他名稱:

保存 HTML:使用此選項(xiàng),您可以將生成的繪圖保存到 HTML 文件中。這個(gè)文件可以獨(dú)立使用,不需要任何后端。HTML 文件使用 JavaScript 以交互方式顯示圖形。
重置:此選項(xiàng)清除所有參數(shù)值。
代碼導(dǎo)出:您可以使用此選項(xiàng)導(dǎo)出用于繪制圖形的代碼。該代碼將缺少提供的自定義關(guān)鍵字,但基本代碼將有助于您開始繪圖。
預(yù)覽 kwargs:它顯示用于繪制圖形的所有當(dāng)前參數(shù)。
完成:每當(dāng)您想重新運(yùn)行繪圖代碼時(shí),您都可以單擊此選項(xiàng)。如果您應(yīng)用了自定義參數(shù)并且想要重新加載應(yīng)用了這些參數(shù)的圖形,這將非常有用。
Reshaper Tab
匯總表(例如數(shù)據(jù)透視表)對于基于聚合函數(shù)(例如平均值、中值、總和等)匯總數(shù)據(jù)起著至關(guān)重要的作用。您可以使用 reshaper 選項(xiàng)卡簡單地創(chuàng)建這些表。此選項(xiàng)卡提供數(shù)據(jù)透視表、熔化表、合并和連接表。只需將列名稱從左側(cè)面板拖到所需的參數(shù),然后單擊完成。
您將獲得一個(gè)選擇了摘要的新數(shù)據(jù)框。讓我們創(chuàng)建一個(gè)數(shù)據(jù)透視表,以“切割”為索引,“顏色”為新列,以及鉆石數(shù)據(jù)集的聚合平均值“深度”:

設(shè)置首選項(xiàng)
與任何其他應(yīng)用程序一樣,您可以使用設(shè)置的菜單集首選項(xiàng)選項(xiàng)更改 pandasGUI 的默認(rèn)設(shè)置。您可以將應(yīng)用程序的主題更改為暗模式,禁用可編輯的屏幕功能,將 auto_finish 設(shè)置為 True,更改渲染模式,將默認(rèn)聚合函數(shù)從 mean 更改為其他函數(shù),以及格式化標(biāo)題。

導(dǎo)出數(shù)據(jù)集和代碼
完成所有數(shù)據(jù)探索和操作后,您可以訪問使用編輯菜單的導(dǎo)出代碼選項(xiàng)執(zhí)行的所有操作的 Pandas 等效代碼。此代碼將按照操作順序進(jìn)行格式化,并為每個(gè)執(zhí)行的操作提供適當(dāng)?shù)淖⑨?。下圖是通過 PandasGUI 生成代碼


結(jié)論
在這篇詳細(xì)的文章中,我向您介紹了 PandasGUI。它是通過圖形用戶界面執(zhí)行數(shù)據(jù)操作和探索的非常強(qiáng)大的工具。我們從安裝庫開始,加載數(shù)據(jù)集,然后探索所有屏幕功能,更詳細(xì)地查看每個(gè)選項(xiàng)卡,然后查看一些其它功能。
PandasGUI就為大家介紹到這里,歡迎各位同學(xué)報(bào)名
《呆瓜半小時(shí)入門python數(shù)據(jù)分析》https://ke.qq.com/course/3064943,
學(xué)習(xí)更多相關(guān)知識
