日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Pandas profiling 生成报告并部署的一站式解决方案

發布時間:2024/9/15 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pandas profiling 生成报告并部署的一站式解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pandas 庫功能非常強大,特別有助于數據分析與處理,并為幾乎所有操作提供了完整的解決方案。一種常見的Pandas函數是pandas describe。它向用戶提供數據集所有特征的描述性統計摘要,盡管其比較常用,但它仍然沒有提供足夠詳細的功能。

Pandas profiling?可以彌補?pandas describe?沒有詳細數據報告生成的不足。它為數據集提供報告生成,并為生成的報告提供許多功能和自定義。在本文中,我們將探索這個庫,查看提供的所有功能,以及一些高級用例和集成,這些用例和集成可以對從數據框創建令人驚嘆的報告!

安裝

與其他所有 python 包一樣,可以通過 pip 包管理器輕松安裝 Pandas 分析:

pip?install?pandas-profiling

它也可以通過 Conda 包管理器安裝:

conda?env?create?-n?pandas-profiling conda?activate?pandas-profiling conda?install?-c?conda-forge?pandas-profiling

數據集和設置

看下如何啟動?pandas_profiling?庫并從數據框中生成報告了。首先導入一個將為其生成報告的數據集。該數據集包含?State_name、District_name、Crop_year、Season、Crop、Area 和 Production的農業數據集。數據集獲取方式可以在公眾號『數據STUDIO』消息后臺回復【PF】獲取!

import?pandas?as?pd df?=?pd.read_csv("crop_production.csv")

在我討論??pandas_profiling?之前,先看看數據幀的?Pandas describe?函數輸出:

df.describe(include='all')

注意我使用了describe?函數的?include?參數設置為"all",強制 pandas 包含要包含在摘要中的數據集的所有數據類型。字符串類型值伴隨有諸如unique、top 和 freq等選項。

導入 pandas_profiling

from?pandas_profiling?import?ProfileReport

分析DataFrame有兩種方法:

  • 可以在 Pandas DataFrame上調用'.profile_report()'?函數。此函數不是 Pandas API 的一部分,但只要導入profiling庫,它就會將此函數添加到DataFrame對象中。

  • 可以將DataFrame對象傳遞給profiling函數,然后調用創建的函數對象以開始生成分析文件。

  • 無論采用哪種方式,都將獲得相同的輸出報告。我正在使用第二種方法為導入的農業數據集生成報告。

    profile?=?ProfileReport(df) profile

    動畫顯示報告生成

    報告部分

    現在我們一起一一探索生產報告的所有部分。

    1. 概述 Overview

    此部分包含 3 個選項卡:Overview, Warnings, 和 Reproduction

    Overview包括總體統計的。這包括變量數(數據框的特征或列)、觀察數(數據框的行)、缺失單元格、缺失單元格百分比、重復行、重復行百分比和內存中的總大小。

    Warnings選項卡由任何類型的相關基數,相關性與其他變量,缺失值零,偏態變量,以及其他Warnings。

    reproduction標簽只顯示相關的報告生成的信息。它顯示分析的開始和結束時間、生成報告所用的時間、pandas_profiling 的版本以及配置下載選項。

    我們將在本文的高級用例部分討論配置文件。

    2. 變量

    報告的這一部分詳細分析了數據集的所有變量/列/特征。顯示的信息因變量的數據類型而異。

    數值變量

    對于數值數據類型特征,可以獲得有關不同值、缺失值、最小值-最大值、平均值和負值計數的信息。還可以獲得直方圖形式的小表示值。

    切換按鈕來展開的Statistics, Histogram, Common values, Extreme values選項卡。

    統計選項卡包括:

  • 分位數統計:Min-Max、百分位數、中位數、范圍和 IQR(四分位間距)。

  • 描述性統計:標準偏差、方差系數、峰度、均值、偏度、方差和單調性。

  • 直方圖選項卡顯示變量的頻率或數值數據的分布。通用值選項卡基本上是變量的?value_counts,同時顯示為計數和百分比頻率。

    字符串變量

    對于字符串類型變量,您將獲得不同(唯一)值、不同百分比、缺失、缺失百分比、內存大小以及所有具有計數表示的唯一值的水平條表示。

    它還會報告與變量相關的任何警告,而不管其數據類型如何

    切換按鈕擴展到Overview, Categories, Words, and Characters選項卡。

    字符串類型值的概覽選項卡顯示最大-最小中值平均長度、總字符、不同字符、不同類別、唯一和來自數據集的樣本。

    類別選項卡顯示直方圖,有時顯示特征值計數的餅圖。該表包含值、計數和百分比頻率。

    在以表格和直方圖格式呈現數據的方式方面,單詞和字符選項卡與類別選項卡的作用相同,但它可以更深入地處理小寫、大寫、標點符號,特殊字符類別也很重要!

    3. 相關性

    相關性用于描述兩個變量相互協調移動的程度。在熊貓分析報告中,可以訪問 5 種類型的相關系數:Pearson's r、Spearman's ρ、Kendall's τ、Phik (φk) 和 Cramér's V (φc)。

    還可以單擊切換按鈕以獲取有關各種相關系數的詳細信息。

    4. 缺失值

    生成的報告還包含數據集中缺失值的可視化。您將獲得 3 種類型的圖:計數、矩陣和樹狀圖。計數圖是一個基本的條形圖,以 x 軸作為列名,條形的長度代表存在的值的數量(沒有空值)。類似的還有矩陣和樹狀圖。

    5. 樣本

    此部分顯示數據集的前 10 行和最后 10 行。

    如何保存報告?

    到目前為止,我們已經了解了如何僅使用一行代碼或函數生成DataFrame報告,以及報告包含的所有功能。我們可能有興趣將此分析導出到外部文件,以便可以將其與其他應用程序集成或將其發布到 Web 上。

    可以將此報告保存在

  • HTML格式

  • JSON 格式

  • 任何格式的保存功能都保持不變,只需在保存時更改文件擴展名。要保存報告,請在配置文件對象上調用 **.to_file()**函數:

    profile.to_file("Analysis.html") profile.to_file("Analysis.json")

    高級用法

    Pandas profiling?生成的報告是一個完整的分析,除了 DataFrame 對象之外,沒有用戶的任何輸入。報告的所有元素都是自動選擇的,默認值是首選。

    報告中可能有一些您不想包含的元素,或者您需要為最終報告添加自己的元數據。這個庫的高級用法來了。您可以通過更改默認配置來控制報告的各個方面。

    我們可以自定義報告的一些方法。

    添加元數據

    您可以添加?“title”, “description”, “creator”, “author”, “URL”, “copyright_year”, and “copyright_holder”?等信息。此信息將出現在數據集概述部分。對于此元數據,將創建一個名為“dataset”的新選項卡。要將此數據添加到報告中,請在 ProfileReport 函數中使用 dataset 參數并將此數據作為字典傳遞:

    profile?=?ProfileReport(df,title="Agriculture?Data",dataset={"description":?"This?profiling?report?was?generated?for?數據STUDIO","copyright_holder":?"數據STUDIO","copyright_year":?"2021","url":?"https://t.1yb.co/HqGX",},) profile

    我們還可以使用 variables 參數添加有關數據集中使用的變量的信息。這將具有描述的字典作為鍵和值作為另一個具有鍵值對的字典,其中鍵是變量名稱,值作為變量的描述。

    variables={ "descriptions":?{ "State_Name":?"州名", "District_Name":?"區名", "Crop_Year":?"播種的年份", "Season":?"作物年", "Crop":?"播種的是哪種作物?", "Area":?"作物分配了多少面積?", "Production":?"產量多少", } }

    當您將其添加到?ProfileReport?函數時,將在概覽部分下創建一個名為“variables”的單獨選項卡:

    報表的控制參數

    假設你不想顯示所有類型的相關系數。你可以通過使用相關性配置來簡單地禁用其他系數。這也是一個字典對象,可以傳遞給?ProfileReport?函數:

    profile?=?ProfileReport(df,title="Agriculture?Data",correlations={"pearson":?{"calculate":?True},"spearman":?{"calculate":?False},"kendall":?{"calculate":?False},"phi_k":?{"calculate":?False},})

    同樣,您可以自定義報告的每個部分、HTML 格式、圖表等等。

    有關詳細信息,請查看文檔的此頁面[1]

    集成

    在通過配置報告的各個方面使您的報告令人驚嘆后,你可能希望以任何方式發布它。或許,你可以將其導出為 HTML 格式并上傳到網絡。但是還有一些其他方法可以使你的報告脫穎而出。

    Jupyter 筆記本中的小部件

    在你的 Jupyter 筆記本中運行panda profiling時,你將僅在代碼單元格中呈現 HTML。這干擾了用戶的體驗。你可以讓它像一個小部件一樣易于訪問并提供緊湊的視圖。為此,只需在你的配置文件對象上調用**.to_widgets()**:

    Streamlit app

    我們也可以將此報告作為Streamlit app的一部分。Streamlit 是一個功能強大的軟件包,可以用最少的代碼構建?GUI Web app。這些應用程序是交互式的,幾乎與所有設備兼容。您可以按照以下代碼將你的報告作為?streamlit app?的一部分:

    第 1 步:安裝 streamlit_pandas_profiling

    pip?install?streamlit-pandas-profiling

    第 2 步:創建一個 Python 文件并以此格式編寫代碼

    import?pandas?as?pd import?pandas_profiling import?streamlit?as?st from?streamlit_pandas_profiling?import?st_profile_report from?pandas_profiling?import?ProfileReportdf?=?pd.read_csv("crops?data.csv",?na_values=['='])profile?=?ProfileReport(df,title="Agriculture?Data",dataset={"description":?"This?profiling?report?was?generated?for?數據STUDIO","copyright_holder":?"數據STUDIO","copyright_year":?"2021","url":?"https://t.1yb.co/HqGX",}, variables={"descriptions":?{"State_Name":?"州名","District_Name":?"區名","Crop_Year":?"播種的年份","Season":?"作物年","Crop":?"播種的是哪種作物?","Area":?"作物分配了多少面積?","Production":?"產量多少",}} )st.title("Pandas?Profiling?in?Streamlit!") st.write(df) st_profile_report(profile)

    第 3 步:運行 Streamlit 應用程序

    在終端中,輸入:

    streamlit?run?.py

    寫在最后

    在本文中,我們一起了解了一個新工具“Pandas Profiling”——從 Pandas DataFrame 生成報告的一站式解決方案。我們探索了此工具的所有功能、不同部分及其內容。然后我們繼續保存生成的報告,稍后,我們查看了該庫的一些高級用例,最后集成了?Streamlit?應用程序,使報告更具前景和互動性。

    參考資料

    [1]?

    Pandas Profiling:?https://pandas-profiling.github.io/pandas-profiling/docs/master/rtd/pages/advanced_usage.html

    推薦閱讀

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

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

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

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

    總結

    以上是生活随笔為你收集整理的Pandas profiling 生成报告并部署的一站式解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。