介紹一個前后端全棧型的可視化項目:D-Tale

在公眾號「python風控模型」里回復關鍵字:學習資料。
介紹
Pandas 數(shù)據(jù)框以帶有行和列的表格格式表示。它與表格中數(shù)據(jù)的excel顯示非常相似。Pandas dataframe 和 excel 的顯著區(qū)別在于,在 Pandas 中,您不能直接對數(shù)據(jù)集進行修改。您既不能通過任何 GUI 對數(shù)據(jù)進行排序,也不能通過選擇一些參數(shù)來創(chuàng)建快速可視化。
在 excel 中,你可以做所有這些事情,但如果我告訴你,你也可以在 Pandas 的 GUI 中做所有這些事情,并獲得所有修改和繪圖的代碼呢!D-Tale是一個強大的庫,它提供了這些功能以及許多額外的好處。我將嘗試捕獲該庫的所有功能。

顧名思義,D-Tale 提供了有關所提供數(shù)據(jù)的各種詳細信息。它支持多種文件格式,包括CSV、TSV、XLS、XLSX。它是一個以Flask 后端和 React 作為前端構建的 Python 庫。它可以通過 pip python 包管理器輕松安裝。
您可以通過兩種方式啟動 D-Tale 界面并在 Jupyter 筆記本中加載數(shù)據(jù):
要么將數(shù)據(jù)幀對象傳遞給 D-Tale 函數(shù)。這僅在 Jupyter 單元中實例化 GUI。
在不傳遞數(shù)據(jù)幀的情況下初始化 D-Tale 接口。它將顯示一個帶有 GUI 的交互菜單來加載數(shù)據(jù)并提供各種其他選項。
為了更好地演示,我將選擇第二個選項。啟動沒有數(shù)據(jù)的實例的代碼是:
導入數(shù)據(jù)
dtale.show(open_browser=True)
運行此代碼后,您將獲得此 GUI 菜單:

首次界面
在這里您有以下選擇——
從文件加載數(shù)據(jù)
從網站加載數(shù)據(jù)。在這里,您需要傳遞網站的鏈接,您可以從中獲取 CSV、JSON、TSV 或 Excel 等文件。
加載示例數(shù)據(jù)集。這些數(shù)據(jù)集可能需要一些后臺下載才能從服務器獲取數(shù)據(jù)集。
讓我們加載電影示例數(shù)據(jù)集。加載數(shù)據(jù)集后,就會像 Pandas 數(shù)據(jù)框一樣顯示一個表格。此表的所有單元格都可以編輯,您可以像在 excel 中一樣直接更改值。

列菜單功能
每當您單擊列標題時,您將獲得一個選項列表,具體取決于該列包含的數(shù)據(jù)類型。他們三個的共同點是按升序或降序排序。除此之外,對于不同類型的數(shù)據(jù)會有不同的過濾方法。
此外,在字符串類型列中,將沒有“熱圖”和“方差報告”選項,但會有一個名為“清理列”的新選項,該選項不存在于整數(shù)和日期時間值列中。
讓我們探索其中的一些。

1. 鎖定
該鎖選項堅持列于屏幕左側,讓您自由地滾動/導航到無鎖定列其他列被移位。當您想查看分開放置的列時,這可以證明是有用的。

2.隱藏和刪除
該隱藏選項去除數(shù)據(jù)框視圖的列。它不會從實際數(shù)據(jù)框中刪除。您可以簡單地從右上角的條中取消隱藏列。
該刪除選項?將從數(shù)據(jù)框中永久刪除列。它類似于 pandas 的 drop 函數(shù)。在后端,它遍歷列列表以選擇要從數(shù)據(jù)框中刪除的列。

3. 替換和類型轉換
甲更換選擇用于具有恒定或NaN值替換的列的一些值。您可以進行此替換或創(chuàng)建一個單獨的列。替換類型也可以定義為替換:特定值、空格或特定字符串替換。
例如,“date_published”列應包含所有日期類型的字符串,但存在不應存在的文本“TV Movie 2019”。讓我們用 numpy nan 替換此文本。

現(xiàn)在,我可以使用類型轉換選項輕松地將“date_published”列的數(shù)據(jù)類型從字符串更改為日期時間。它還提供了在原地或另一列進行更改的選項:

4. 描述
pandas 中的describe函數(shù)有助于提供列或數(shù)據(jù)集的統(tǒng)計摘要。這里的 describe 選項以相同的方式工作,但它提供的信息比普通的 Pandas 函數(shù)多。由于它被命名為列分析,因此它為每種數(shù)據(jù)類型提供了唯一的摘要。
對于日期時間類型 column,它提供以下詳細信息:

它還為特征生成直方圖和 value_counts 圖:

對于整數(shù)類型的列,它提供了中心性和傳播的度量以及最頻繁值的頻率以及峰度和偏度。它還表示箱線圖、直方圖、value_count 圖和 QQ 圖中的數(shù)據(jù)。
對于字符串類型的列,它提供最常用的詞及其頻率、存在字符的詳細摘要、詞值計數(shù)圖和值計數(shù)圖。
5. 過濾器
這些用于制作數(shù)據(jù)的子集。在 D-Tale 中過濾數(shù)據(jù)非常簡單,您只需要指定所需的過濾器類型。下面的示例顯示了按年份 > 2000 和年份 == 2001 過濾數(shù)據(jù)集:
在篩選日期時間類型列中的數(shù)據(jù)時,您也可以按日期范圍篩選數(shù)據(jù)。對于字符串類型的列,您可以通過以下方式過濾數(shù)據(jù):

6. 差異報告
此選項不適用于字符串類型值。方差報告顯示特征是否具有低方差。它根據(jù)兩項檢查來決定這一點:
特征中的唯一值計數(shù)/樣本量 < 10%
最常用值的計數(shù)/第二常用值的計數(shù) > 20
它顯示計算結果和直方圖以呈現(xiàn)結果。

7. 清潔色譜柱
此選項僅適用于字符串類型的值。文本清理是數(shù)據(jù)科學項目的主要部分。如果進行正確的清潔類型,它可以提高模型性能。D-Tale 提供了可以應用于文本的所有可能的文本清理方法。您只需選擇要應用于文本的方法,工作將在后端完成。

主菜單選項
在主菜單中幾乎全部在列菜單提供,但在主菜單中,他們普遍,您可以在多個列,而可以手動從顯示器接他們一個地方做業(yè)務相同的選項。以下是一些主菜單獨有且工作方式不同的選項。
1. 建立專欄
此選項允許您從已有的列中創(chuàng)建新的特征/列。您可以通過對列執(zhí)行算術運算或使用兩列執(zhí)行運算來創(chuàng)建這些新功能。您還可以提供要創(chuàng)建的新列的名稱及其數(shù)據(jù)類型。

2. 匯總數(shù)據(jù)
在 Pandas 中,我們通過分組或數(shù)據(jù)透視表匯總數(shù)據(jù)。你也可以用這個包做同樣的事情。Pandas 要求您為每個 group by 和數(shù)據(jù)透視表編寫代碼,但使用 D-Tale,您可以選擇列、聚合函數(shù)以及最終數(shù)據(jù)集中所需的列。讓我們按電影平均時長的年份摘要創(chuàng)建一個組:

3. 缺失分析
丟失數(shù)據(jù)是任何類型數(shù)據(jù)集中的常見問題。沒有一個數(shù)據(jù)集是完美的,它有意或無意地有很多缺失值。D-Tale 使用 missingno python 包來可視化數(shù)據(jù)集中存在的缺失值。它也提供矩陣、條形圖、熱圖和樹狀圖。

4. 圖表
繪圖是任何數(shù)據(jù)科學探索性分析階段的重要步驟。您可以使用任何類型的繪圖庫來繪制圖形。D-Tale 使用 plotly 隨時隨地創(chuàng)建交互式繪圖。它提供折線圖、條形圖、散點圖、餅圖、詞云圖、熱圖、3D 散點圖、表面圖、地圖、燭臺圖、樹狀圖和漏斗圖。不同類型的數(shù)據(jù)支持不同類型的繪圖。
下面是一個選擇了一些配置的條形圖示例,其中 x 軸表示年份,y 軸表示電影時長的總和:

5. 熒光筆
這些用于突出顯示數(shù)據(jù)集的某些部分。就像我們在 Pandas 中使用 stylers 來顯示奇怪的值一樣,highlighters 做同樣的工作。您可以突出顯示缺失值、數(shù)據(jù)類型、異常值和范圍。下面的示例顯示了如何突出顯示缺失值和異常值:

6. 代碼導出和數(shù)據(jù)導出
您在 D-Tale 中對數(shù)據(jù)框執(zhí)行的所有操作都會自動轉換為它們的 python/pandas/plotly 等效代碼。可以通過單擊每個操作和圖表 GUI 中出現(xiàn)的導出代碼選項來訪問它們。查看為對數(shù)據(jù)集完成的一些操作生成的代碼:
主菜單中的代碼導出選項捕獲對數(shù)據(jù)幀所做的所有更改。您可以使用導出選項在更改為 CSV 或 TSV 后直接導出最終數(shù)據(jù)集。
結論
在這篇詳細的文章中,我們看到了D-Tale 的一些功能,這確實是一個強大的軟件包。還有更多功能需要探索,您絕對應該檢查一下。如果我將它與旨在在 Python 中提供類似電子表格的操作的Mito進行比較,那么 D-Tale 在提供的功能方面確實比它更具優(yōu)勢。
使用 D-Tale高效探索 Pandas DataFrame就為大家介紹到這里,歡迎各位同學報名《呆瓜半小時入門python數(shù)據(jù)分析》,學習更多相關知識

版權聲明:文章來自公眾號(python風控模型),未經許可,不得抄襲。遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。