<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          最近在用的數(shù)據(jù)分析工具。。

          共 3796字,需瀏覽 8分鐘

           ·

          2021-10-26 09:25

          大家好,我是寶器

          關(guān)于pandasGUI工具,我之前介紹過pandasgui。可以說,有了GUI可視化界面,操作就和Excel一樣簡單,本次再介紹一款功能更加強大的GUI神器:D-Tale

          這個庫的名字為啥要D-Tale呢?東哥好信還去查了下,它是detail的諧音,初衷是要提供數(shù)據(jù)的所有詳細信息。下面介紹下如何使用它。

          啟動、數(shù)據(jù)加載

          D-Tale支持多種文件格式,包括CSVTSVXLSXLSX。它是一個以Flask 為后端,React 作為前端構(gòu)建的,通過pip安裝即可。

          pip?install?dtale

          兩種啟動 D-Tale 的方式:

          • 將DataFrame對象傳遞給 D-Tale 函數(shù),在 Jupyter 單元中實例化 GUI。
          • 不導(dǎo)入DataFrame對象的情況下初始化 D-Tale,顯示為一個帶有 GUI 的交互菜單來加載數(shù)據(jù)并提供各種其他選項。

          為了更好地演示,這里選擇第二種。

          import?dtale
          dtale.show(open_browser=True)

          運行代碼后,將獲得下面的 GUI 菜單:

          數(shù)據(jù)的導(dǎo)入有幾種方式,

          1. 從文件加載數(shù)據(jù)
          2. 從網(wǎng)站加載數(shù)據(jù)。需要傳遞網(wǎng)站的鏈接,可以從中獲取 CSV、JSON、TSV 或 Excel 等文件。
          3. 加載示例數(shù)據(jù)集。這些數(shù)據(jù)集可能需要一些后臺下載才能從服務(wù)器獲取數(shù)據(jù)集。

          本文以一個電影的示例數(shù)據(jù)集展示如何使用。加載數(shù)據(jù)集后,就會像 pandas一樣呈現(xiàn)一個表格。表里的所有單元格都可以編輯,就像在 excel 中一樣直接更改值。

          列菜單功能

          當單擊列標題時,可以獲得一個選項列表,選項的內(nèi)容取決于該列的數(shù)據(jù)類型。比如下面3個類型:datatime64int64str,3個選項列表的共同點是按升序或降序排序。除此之外,對于不同類型的數(shù)據(jù)會有不同的過濾方法。

          具體探索一下項目里的功能。

          1. 凍結(jié)

          鎖定功能類似于excel中的首行凍結(jié),將列鎖定在最左側(cè),這樣可以自由地滾動表格同時看到鎖定的列了。

          2.隱藏和刪除

          隱藏選項將會去掉表格中的某列,但它不會從實際地刪除。當然,也可以從右上角的條中取消隱藏列。

          刪除選項將從數(shù)據(jù)框中永久刪除列。它類似于 pandasdrop 函數(shù)。

          3. 替換和類型轉(zhuǎn)換

          替換選項可以替換表中某些固定值或者填充空值。可以inplace=True替換某列或者創(chuàng)建一個新列。同時,替換類型可以定義為:特定值、空格或特定字符串的替換。

          例如下面,date_published列應(yīng)包含所有日期類型的字符串,但存在了不應(yīng)存在的文本 TV Movie 2019,這時候可以用 numpy nan 來替換這個異常值。

          現(xiàn)在,我可以使用類型轉(zhuǎn)換選項輕松地將date_published列的數(shù)據(jù)類型從字符串更改為日期時間,同時提供了inplacenew columns更改的選項:

          4. 描述性統(tǒng)計

          pandas 中的describe函數(shù)有助于提供列或數(shù)據(jù)集的統(tǒng)計摘要。這里的 describe 一樣,并且提供的信息比普通的 pandas 函數(shù)更多,它為每種數(shù)據(jù)類型提供了唯一的describe摘要。

          對于日期時間類型 column,它提供以下詳細信息:

          另外,它還為特征生成了histogramvalue_counts 圖:

          對于整數(shù)類型的列,它提供了中心性、頻率、峰度和偏度。它還表示箱線圖、直方圖、value_count 圖和 QQ 圖中的數(shù)據(jù)。

          對于字符串類型的列,它提供最常用的詞及其頻率、字符的詳細摘要、詞值計數(shù)圖和值計數(shù)圖。

          5. 篩選過濾

          D-Tale 中過濾數(shù)據(jù)非常簡單,只需要指定所需的過濾器類型。下面的示例顯示按年份 > 2000 和年份 == 2001 過濾數(shù)據(jù)集:

          在篩選日期時間類型列中的數(shù)據(jù)時,也可以按日期范圍篩選數(shù)據(jù)。對于字符串類型的列,可以通過以下方式過濾數(shù)據(jù):

          6. 方差報告

          這個選項不適用于字符串類型值。方差報告基于以下兩點來決定特征是否具有低方差:

          • 特征中的唯一值計數(shù)/樣本大小 < 10%
          • 最常用值的計數(shù)/第二常用值的計數(shù) > 20

          顯示計算結(jié)果,并用直方圖以呈現(xiàn)結(jié)果。

          7. 文本清洗

          這個選項僅適用于字符串類型的值。文本清洗是數(shù)據(jù)科學(xué)項目的主要部分,如果使用正確的類型,它可以提高模型性能。D-Tale 提供了可以應(yīng)用于文本的所有可能的文本清理方法,我們只需選擇要應(yīng)用于文本的方法,工作將在后端即可完成。

          主菜單選項

          在主菜單中,其實包含了列菜單的全部功能,但在主菜單中使用時,更加普適。比如,可以在單個或者多個列,而非手動選擇了。下面是幾個核心功能介紹。

          1. 創(chuàng)建列

          可以創(chuàng)建新列或者從已有的列中創(chuàng)建列。像我們建模前的特征工程也可以使用它來實現(xiàn),比如使用兩列執(zhí)行算數(shù)運算來創(chuàng)建新列。同時,我們可以給創(chuàng)建的新列提供名稱,以及設(shè)置數(shù)據(jù)類型。

          2. 匯總數(shù)據(jù)

          pandas 中,我們通過分組數(shù)據(jù)透視表匯總數(shù)據(jù)。我們也可以用 D-Tale 做同樣的事情。我們直接可以選擇列、聚合函數(shù)以及最終數(shù)據(jù)集中所需的列即可,無需任何代碼。下面是一個例子。

          3. 缺失率分析

          缺失數(shù)據(jù)是所有數(shù)據(jù)集中都會經(jīng)常出現(xiàn)的問題,因為沒有數(shù)據(jù)集是完美的,它有意或無意地有很多缺失值。D-Tale 集成了 missingno 庫來可視化數(shù)據(jù)集中存在的缺失值,同時它也提供矩陣條形圖熱圖樹狀圖

          4. 繪圖

          繪圖是數(shù)據(jù)科學(xué)EDA探索性分析階段的重要步驟。D-Tale 集成 plotly 來創(chuàng)建交互式繪圖。它可以提供折線圖、條形圖、散點圖、餅圖、詞云圖、熱圖、3D 散點圖、表面圖、地圖、燭臺圖、樹狀圖和漏斗圖。不同類型的數(shù)據(jù)支持不同類型的繪圖,像下面這樣。

          5. 高亮功能

          用于突出顯示數(shù)據(jù)集的某些部分,就像我們在 pandas 中使用 stylers 來顯示特殊值一樣,highlighters 也可以完成同樣的功能。比如,我們可以高亮缺失值、數(shù)據(jù)類型、異常值或者范圍。下面的示例顯示了如何高亮顯示缺失值和異常值:

          6. 代碼導(dǎo)出、數(shù)據(jù)導(dǎo)出

          D-Tale 中對數(shù)據(jù)框執(zhí)行的所有操作都會自動轉(zhuǎn)換為它們的 python/pandas/plotly 等效代碼。可以通過單擊每個操作和圖表 GUI 中出現(xiàn)的導(dǎo)出代碼選項來查看它們。下面是自動生成的一些代碼。

          import?pandas?as?pd
          from?dtale.datasets?import?{dataset}
          df?=?{dataset}()
          if?isinstance(df,?(pd.DatetimeIndex,?pd.MultiIndex)):
          ?df?=?df.to_frame(index=False)
          #?remove?any?pre-existing?indices?for?ease?of?use?in?the?D-Tale?code,?but?this?is?not?required
          df?=?df.reset_index().drop('index',?axis=1,?errors='ignore')
          df.columns?=?[str(c)?for?c?in?df.columns]??#?update?columns?to?strings?in?case?they?are?numbers
          df?=?df[[c?for?c?in?df.columns?if?c?!=?'imdb_title_id']]
          df?=?df.rename(columns={'title':?'Movie_title'})
          s?=?df['date_published']
          s?=?df['date_published']
          s?=?s.replace({
          ?'TV?Movie?2019':?np.nan})
          df.loc[:,?'date_published']?=?s
          df.loc[:,?'date_published']?=?pd.Series(pd.to_datetime(df['date_published'],?infer_datetime_format=True),?name='date_published',?index=df['date_published'].index)

          最后,我們也可以使用導(dǎo)出選項更改為 CSVTSV 后導(dǎo)出數(shù)據(jù)集。

          結(jié)論

          D-Tale 這個GUI強大功能真的是香,以后不想敲代碼的時候可以進行可視化操作了,然后轉(zhuǎn)成代碼如果需要的話。和之前介紹過的其他類似工具的比較來看,比如pandasGUIMitoD-Tale 的功能更加強大。

          參考:https://www.analyticsvidhya.com/blog/2021/06/exploring-pandas-dataframe-with-d-tale/

          ·················END·················

          推薦閱讀

          1. 我在字節(jié)做了哪些事

          2. 寫給所有數(shù)據(jù)人。

          3. 從留存率業(yè)務(wù)案例談0-1的數(shù)據(jù)指標體系

          4. 數(shù)據(jù)分析師的一周

          5. 超級菜鳥如何入門數(shù)據(jù)分析?


          歡迎長按掃碼關(guān)注「數(shù)據(jù)管道」

          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美国发布站久久 | 欧美日韩黄色电影 | 精品少妇在线刺激 | 蜜桃视频一区二区三区四区a v | 老牛吃嫩一区二区三区 |