<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>

          幾款強(qiáng)大的 Pandas 數(shù)據(jù)探索工具,推薦收藏使用

          共 3804字,需瀏覽 8分鐘

           ·

          2022-01-09 19:59

          對于 Python 數(shù)據(jù)分析領(lǐng)域,Pandas 絕對是中堅力量,那么圍繞著這個工具,又衍生出了很多輔助工具,今天我們就一起來看看輔助 Pandas 來進(jìn)行數(shù)據(jù)探索的幾種工具

          首先我們先來看看我們的測試數(shù)據(jù)集

          import pandas

          df = pd.read_excel("2018_Sales_Total_v2.xlsx")

          df



          對于上面的數(shù)據(jù),如果使用 Excel,我們可以非常方便的進(jìn)行簡單的過濾、搜索等操作


          那么在不借助 Excel 的情況,我們有哪些好用的工具呢

          JavaScript tools

          最簡單的方法是使用 JavaScript 庫向數(shù)據(jù)中的 DataFrame 視圖添加一些交互屬性

          Qgrid

          首先我們來看看 Qgrid,這是一個 Jupyter notebook 組件,可以為我們的 DataFrame 添加交互屬性

          import qgrid
          import pandas

          df = pd.read_excel("2018_Sales_Total_v2.xlsx")

          widget = qgrid.show_grid(df)
          widget



          可以看到,Qgrid 的過濾功能還是很不錯的,基本上接近于 Excel 了,但是它也有一些缺點(diǎn),Qgrid 不能進(jìn)行可視化,也不能使用 Pandas 表達(dá)式來過濾和選擇數(shù)據(jù),所以說,Qgrid 只適用于簡單的數(shù)據(jù)操作和檢查

          PivottableJs

          PivottableJs 工具并不是真正用于查看 DataFrame 數(shù)據(jù)的,但我們可以把它當(dāng)做一個非常有用的匯總數(shù)據(jù)工具來使用

          它通過一個 JavaScript 庫的數(shù)據(jù)透視表來進(jìn)行交互式數(shù)據(jù)透視和匯總

          from pivottablejs import pivot_ui

          pivot_ui(df)



          我們通過單擊和拖動來匯總每個客戶購買的數(shù)量

          當(dāng)然,除了基本的求和函數(shù),我們還可以做一些可視化和統(tǒng)計分析


          該工具對于過濾原始 DataFrame 沒有太大的用處,但對于透視和匯總數(shù)據(jù)方面是非常強(qiáng)大,我們可以在構(gòu)建數(shù)據(jù)透視表后過濾數(shù)據(jù),以此來充分發(fā)揮這個工具的作用

          Data Analysis Applications

          接下來我們介紹比較成熟的 GUI 工具,通常使用 Web 后端(如 Flask)或基于 Qt 的單獨(dú)應(yīng)用程序。
          這些應(yīng)用程序的復(fù)雜性和功能各不相同,從簡單的表格視圖和繪圖功能到強(qiáng)大的統(tǒng)計分析。這些工具的獨(dú)特之處在于它們與 Pandas 緊密集成,因此我們可以使用 Pandas 代碼來過濾數(shù)據(jù)并與這些應(yīng)用程序交互

          PandasGUI

          我們首先來看的第一個應(yīng)用程序是 PandasGUI,這個應(yīng)用程序的獨(dú)特之處在于它是一個用 Qt 構(gòu)建的獨(dú)立應(yīng)用程序,可以直接從 Jupyter notebook 調(diào)用

          from pandasgui import show

          show(df)



          比如上圖,使用 Pandas 查詢語法過濾數(shù)據(jù)以顯示一位客戶且購買數(shù)量 > 15 的數(shù)據(jù)

          PandasGUI 與 Plotly 集成使得我們可以方便的構(gòu)建可視化


          PandasGUI 的一項(xiàng)非常棒的功能是過濾器對所有選項(xiàng)卡中的 DataFrame 都有效,我們可以使用此功能在繪制或轉(zhuǎn)換數(shù)據(jù)時嘗試不同的數(shù)據(jù)視圖

          PandasGUI 的另一個功能是我們可以通過旋轉(zhuǎn)或融合數(shù)據(jù)來重塑數(shù)據(jù),以下是 SKU 單位銷售額的摘要




          PandasGUI 真的是一個令人印象深刻的工具!

          Tabloo

          Tabloo 使用 Flask 作為后端為 DataFrames 數(shù)據(jù)提供簡單的可視化工具以及類似于 PandasGUI 的繪圖功能

          import tabloo

          tabloo.show(df)



          Dtale

          Dtale 還是比較復(fù)雜的,功能也更加強(qiáng)大。Dtale 的架構(gòu)類似于 Tabloo,因?yàn)樗瑯邮褂?Flask 后端,但也包括一個強(qiáng)大的 React 前端

          import dtale

          dtale.show(df)



          Dtale 不僅僅是一個 DataFrame 查看器,還是一個非常強(qiáng)大的統(tǒng)計工具集

          我們還可以導(dǎo)出代碼,這是一個非常強(qiáng)大的功能,將 Excel + Python 解決方案與普通 Excel 區(qū)分開來

          下面的例子就可以從上面的可視化圖表中導(dǎo)出代碼

          import numpy as np
          import pandas as pd

          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

          s = df[~pd.isnull(df['{col}'])][['{col}']]
          chart, labels = np.histogram(s, bins=20)
          import scipy.stats as sts

          kde = sts.gaussian_kde(s['unit price'])
          kde_data = kde.pdf(np.linspace(labels.min(), labels.max()))
          # main statistics
          stats = df['unit price'].describe().to_frame().T

          Dtale 還可以對數(shù)據(jù)進(jìn)行格式化,在下面的示例中,我們將貨幣和日期列格式化為更易于閱讀的形式


          Excel

          最后來介紹一些與 Excel 相結(jié)合的工具

          PyXLL

          PyXLL 是一個付費(fèi)產(chǎn)品,不過我們可以免費(fèi)試用 30 天來一睹它的風(fēng)采


          它真正的強(qiáng)大之處在于,我們可以將 Jupyter Notebook 與 Excel 共同使用,并使用 jupyter 魔術(shù)命令在 Notebook 和 Excel 之間交換數(shù)據(jù)

          xlwings

          xlwings 和 PyXLL 類似,也是有商業(yè)公司支持的。但是,有一個社區(qū)版是開源的,我們可以使用開源版本

          雖然 xlwings 不直接與 Jupyter Notebook 集成,但我們可以使用 DataFrame 實(shí)時填充 Excel 電子表格并使用 Excel 進(jìn)行分析

          import pandas as pd
          import xlwings as xw

          url = 
          df = pd.read_excel("2018_Sales_Total_v2.xlsx")

          # Create a new workbook and add the DataFrame to Sheet1
          xw.view(df)

          此代碼將打開一個新的 Excel 實(shí)例并將 df 放入單元格 A1

          好了,今天介紹的 Pandas 數(shù)據(jù)探索工具就是這么多,喜歡就點(diǎn)個

          各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗(yàn)一下哦!(歡迎提建議)

          推薦閱讀


          牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

          牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)

          牛逼!Python函數(shù)和文件操作(長文系列第③篇)

          牛逼!Python錯誤、異常和模塊(長文系列第④篇)


          瀏覽 74
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  国产女主播一区二区三区 | 国产日韩在线欧美视频免费观看 | 日韩在线码 | 亚洲一卡二卡精品 | 日韩乱伦AV无码小说 |