0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

功能更加強(qiáng)大的GUI神器

數(shù)據(jù)分析與開(kāi)發(fā) ? 來(lái)源:Python數(shù)據(jù)科學(xué) ? 作者:東哥起飛 ? 2021-11-22 10:21 ? 次閱讀

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

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

啟動(dòng)、數(shù)據(jù)加載D-Tale支持多種文件格式,包括CSV、TSV、XLS、XLSX。它是一個(gè)以Flask 為后端,React 作為前端構(gòu)建的,通過(guò)pip安裝即可。

pip install dtale

兩種啟動(dòng) D-Tale 的方式:

將DataFrame對(duì)象傳遞給 D-Tale 函數(shù),在 Jupyter 單元中實(shí)例化 GUI。

不導(dǎo)入DataFrame對(duì)象的情況下初始化 D-Tale,顯示為一個(gè)帶有 GUI 的交互菜單來(lái)加載數(shù)據(jù)并提供各種其他選項(xiàng)。

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

import dtale

dtale.show(open_browser=True)

運(yùn)行代碼后,將獲得下面的 GUI 菜單

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

從文件加載數(shù)據(jù)

從網(wǎng)站加載數(shù)據(jù)。需要傳遞網(wǎng)站的鏈接,可以從中獲取 CSV、JSON、TSV 或 Excel 等文件。

加載示例數(shù)據(jù)集。這些數(shù)據(jù)集可能需要一些后臺(tái)下載才能從服務(wù)器獲取數(shù)據(jù)集。

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

列菜單功能當(dāng)單擊列標(biāo)題時(shí),可以獲得一個(gè)選項(xiàng)列表,選項(xiàng)的內(nèi)容取決于該列的數(shù)據(jù)類(lèi)型。比如下面3個(gè)類(lèi)型:datatime64、int64、str,3個(gè)選項(xiàng)列表的共同點(diǎn)是按升序或降序排序。除此之外,對(duì)于不同類(lèi)型的數(shù)據(jù)會(huì)有不同的過(guò)濾方法。

具體探索一下項(xiàng)目里的功能。

1. 凍結(jié)

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

2.隱藏和刪除

隱藏選項(xiàng)將會(huì)去掉表格中的某列,但它不會(huì)從實(shí)際地刪除。當(dāng)然,也可以從右上角的條中取消隱藏列。

刪除選項(xiàng)將從數(shù)據(jù)框中永久刪除列。它類(lèi)似于 pandas 的 drop 函數(shù)。

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

替換選項(xiàng)可以替換表中某些固定值或者填充空值??梢詉nplace=True替換某列或者創(chuàng)建一個(gè)新列。同時(shí),替換類(lèi)型可以定義為:特定值、空格或特定字符串的替換。

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

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

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

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

對(duì)于日期時(shí)間類(lèi)型 column,它提供以下詳細(xì)信息

另外,它還為特征生成了histogram和 value_counts 圖

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

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

5. 篩選過(guò)濾

在 D-Tale 中過(guò)濾數(shù)據(jù)非常簡(jiǎn)單,只需要指定所需的過(guò)濾器類(lèi)型。下面的示例顯示按年份 》 2000 和年份 == 2001 過(guò)濾數(shù)據(jù)集:

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

6. 方差報(bào)告

這個(gè)選項(xiàng)不適用于字符串類(lèi)型值。方差報(bào)告基于以下兩點(diǎn)來(lái)決定特征是否具有低方差:

特征中的唯一值計(jì)數(shù)/樣本大小 《 10%

最常用值的計(jì)數(shù)/第二常用值的計(jì)數(shù) 》 20

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

7. 文本清洗

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

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

1. 創(chuàng)建列

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

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

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

3. 缺失率分析

缺失數(shù)據(jù)是所有數(shù)據(jù)集中都會(huì)經(jīng)常出現(xiàn)的問(wèn)題,因?yàn)闆](méi)有數(shù)據(jù)集是完美的,它有意或無(wú)意地有很多缺失值。D-Tale 集成了 missingno 庫(kù)來(lái)可視化數(shù)據(jù)集中存在的缺失值,同時(shí)它也提供矩陣、條形圖、熱圖和樹(shù)狀圖。

4. 繪圖

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

5. 高亮功能

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

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

在 D-Tale 中對(duì)數(shù)據(jù)框執(zhí)行的所有操作都會(huì)自動(dòng)轉(zhuǎn)換為它們的 python/pandas/plotly 等效代碼??梢酝ㄟ^(guò)單擊每個(gè)操作和圖表 GUI 中出現(xiàn)的導(dǎo)出代碼選項(xiàng)來(lái)查看它們。下面是自動(dòng)生成的一些代碼。

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)出選項(xiàng)更改為 CSV 或 TSV 后導(dǎo)出數(shù)據(jù)集。

結(jié)論D-Tale 這個(gè)GUI強(qiáng)大功能真的是香,以后不想敲代碼的時(shí)候可以進(jìn)行可視化操作了,然后轉(zhuǎn)成代碼如果需要的話。和之前介紹過(guò)的其他類(lèi)似工具的比較來(lái)看,比如pandasGUI、Mito,D-Tale 的功能更加強(qiáng)大。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6715

    瀏覽量

    88315
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24538

原文標(biāo)題:吹爆這個(gè) pandas GUI 神器,自動(dòng)轉(zhuǎn)代碼!

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    七大嵌入式GUI盤(pán)點(diǎn)

    GUI設(shè)計(jì)。 AWTK 全稱(chēng)為T(mén)oolkit AnyWhere,是周立功傾心打造的一套基于C語(yǔ)言開(kāi)發(fā)的GUI框架。旨在為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡(jiǎn)單易用、可輕松做出炫酷效果的GU
    發(fā)表于 09-02 10:58

    樹(shù)莓派gui開(kāi)發(fā)用什么ide

    樹(shù)莓派(Raspberry Pi)是一款功能強(qiáng)大的微型計(jì)算機(jī),可以運(yùn)行多種操作系統(tǒng),如Raspbian、Ubuntu等。在樹(shù)莓派上進(jìn)行GUI(圖形用戶界面)開(kāi)發(fā),可以使用多種集成開(kāi)發(fā)環(huán)境(IDE
    的頭像 發(fā)表于 08-30 16:49 ?306次閱讀

    GUI Guider V1.8.0全新版本正式上線

    在這個(gè)充滿創(chuàng)新與挑戰(zhàn)的時(shí)代,我們深知高效、靈活的GUI設(shè)計(jì)工具對(duì)人機(jī)交互應(yīng)用的重要性。經(jīng)過(guò)幾個(gè)月的精心打磨與測(cè)試,GUI Guider V1.8.0全新版本正式上線了!本次更新不僅帶來(lái)了前所未有的設(shè)計(jì)自由度,更在功能優(yōu)化與用戶體
    的頭像 發(fā)表于 08-02 09:26 ?373次閱讀

    華芯微特推出了專(zhuān)門(mén)為GUI界面而設(shè)的MC U產(chǎn)品

    豐富的圖形用戶界面(GUI)設(shè)計(jì)可以幫助人類(lèi)從視覺(jué)上、肢體上感知更加清晰、更加立體的信息世界。值得一提的是,例如PC觸控屏、儀器儀表觸摸屏、家居設(shè)備控制板、VR/AR系統(tǒng)的觸控技術(shù)等,華芯微特推出
    的頭像 發(fā)表于 05-14 17:00 ?296次閱讀
    華芯微特推出了專(zhuān)門(mén)為<b class='flag-5'>GUI</b>界面而設(shè)的MC U產(chǎn)品

    分享幾個(gè)嵌入式中常用的GUI

    一、什么是GUI?GUI是圖形用戶界面(GraphicalUserInterface,簡(jiǎn)稱(chēng)GUI,又稱(chēng)圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。通過(guò)GUI框架,用戶可直接
    的頭像 發(fā)表于 04-06 08:09 ?1177次閱讀
    分享幾個(gè)嵌入式中常用的<b class='flag-5'>GUI</b>

    GUI Guider新版本發(fā)布,嵌入式GUI開(kāi)發(fā)體驗(yàn)升級(jí)

    作為恩智浦著力打造的一款嵌入式人機(jī)交互應(yīng)用開(kāi)發(fā)工具,GUI Guider又迎來(lái)了一個(gè)新版本!最新發(fā)布的GUI Guider v1.7.1增加了視頻轉(zhuǎn)換功能,可以幫助用戶靈活地轉(zhuǎn)換原視頻,包括長(zhǎng)度裁剪
    發(fā)表于 03-29 09:47 ?1314次閱讀
    <b class='flag-5'>GUI</b> Guider新版本發(fā)布,嵌入式<b class='flag-5'>GUI</b>開(kāi)發(fā)體驗(yàn)升級(jí)

    圖形界面開(kāi)發(fā)工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能強(qiáng)大且對(duì)用戶非常友好的圖形界面開(kāi)發(fā)工具。目前最新版本是1.6.1。
    的頭像 發(fā)表于 12-20 09:49 ?1.3w次閱讀
    圖形界面開(kāi)發(fā)工具<b class='flag-5'>GUI</b> Guider的使用教程

    誰(shuí)說(shuō)單片機(jī)不能圖形編程,介紹MCU的TOP 5圖形GUI庫(kù)!

    LittlevGL(LVGL) 是一款開(kāi)源的嵌入式圖形用戶界面(GUI)庫(kù),專(zhuān)為嵌入式系統(tǒng)設(shè)計(jì)。LVGL以其輕量級(jí)、靈活性和強(qiáng)大功能而備受開(kāi)發(fā)者青睞,資源夠的情況下可移植到所有MCU。
    的頭像 發(fā)表于 12-07 10:42 ?6389次閱讀
    誰(shuí)說(shuō)單片機(jī)不能圖形編程,介紹MCU的TOP 5圖形<b class='flag-5'>GUI</b>庫(kù)!

    python如何打開(kāi)gui界面

    幾個(gè)主要部分,然后逐漸展開(kāi)到具體細(xì)節(jié)。 提綱: 介紹Tkinter庫(kù):Tkinter是Python中最常用的GUI庫(kù)之一,它提供了創(chuàng)建GUI界面的各種組件和功能。 安裝Tkinter:介紹如何安裝并
    的頭像 發(fā)表于 11-22 14:12 ?802次閱讀

    LVGL結(jié)合RT-thread快速開(kāi)發(fā)出漂亮GUI的利器GUI-Guider

    GUI-Guider是一種功能強(qiáng)大的軟件,它為用戶提供了一種簡(jiǎn)單直觀的方式來(lái)創(chuàng)建和設(shè)計(jì)圖形用戶界面(GUI)。
    的頭像 發(fā)表于 11-14 12:38 ?3016次閱讀
    LVGL結(jié)合RT-thread快速開(kāi)發(fā)出漂亮<b class='flag-5'>GUI</b>的利器<b class='flag-5'>GUI</b>-Guider

    實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32GUI TouchGFX 屏幕切換功能簡(jiǎn)介

    關(guān)鍵詞:GUI,TouchGFX,Transition 目錄預(yù)覽 1、引言 2、TouchGFX屏幕切換功能 3、小結(jié) 01 引言 TouchGFX 是專(zhuān)用于 STM32 的圖形界面設(shè)計(jì)軟件,可
    的頭像 發(fā)表于 11-09 10:05 ?3978次閱讀

    如何快速開(kāi)發(fā)出功能強(qiáng)大、界面美觀的GUI 應(yīng)用程序

    平臺(tái)的 GUI 應(yīng)用程序 相比 Tkiner和 wxpython,PyQt5 利用自帶的 Qt Designer 可視化工具進(jìn)行界面設(shè)計(jì),可以非??焖俚亻_(kāi)發(fā)出一款功能強(qiáng)大、界面美觀的 GUI 應(yīng)用程序
    的頭像 發(fā)表于 11-02 14:45 ?2586次閱讀
    如何快速開(kāi)發(fā)出<b class='flag-5'>功能強(qiáng)大</b>、界面美觀的<b class='flag-5'>GUI</b> 應(yīng)用程序

    feapder:一款功能強(qiáng)大的爬蟲(chóng)框架

    今天推薦一款更加簡(jiǎn)單、輕量級(jí),且功能強(qiáng)大的爬蟲(chóng)框架:feapder 項(xiàng)目地址: https://github.com/Boris-code/feapder 2. 介紹及安裝 和 Scrapy 類(lèi)似
    的頭像 發(fā)表于 11-01 09:48 ?906次閱讀

    STM32GUI_使用 STLINK+stm32gui-pydfb 工具來(lái)實(shí)時(shí)查看圖形緩存的圖片

    STM32GUI_使用 STLINK+stm32gui-pydfb 工具來(lái)實(shí)時(shí)查看圖形緩存的圖片
    的頭像 發(fā)表于 10-27 10:28 ?757次閱讀
    STM32<b class='flag-5'>GUI</b>_使用 STLINK+stm32<b class='flag-5'>gui</b>-pydfb 工具來(lái)實(shí)時(shí)查看圖形緩存的圖片

    基于MCU通用GUI大盤(pán)點(diǎn)

    基于MCU通用GUI大盤(pán)點(diǎn)
    的頭像 發(fā)表于 10-18 17:07 ?734次閱讀
    基于MCU通用<b class='flag-5'>GUI</b>大盤(pán)點(diǎn)