国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一行Python命令搞定前期數(shù)據(jù)探索性分析

開發(fā) 后端
每當我們手上出現(xiàn)一份新的數(shù)據(jù)時,我們都需要事先通過人為地觀察、字段釋義等方式預先對數(shù)據(jù)進行熟悉與理解。在清洗、處理完數(shù)據(jù)之后才會開始真正的 EDA 過程。

 [[338350]]

對于每個從事和數(shù)據(jù)科學有關的人來說,前期的數(shù)據(jù)清洗和探索一定是個花費時間的工作。毫不夸張的說,80%的時間我們都花在了前期的數(shù)據(jù)工作中,包括清洗、處理、EDA(Exploratory Data Analysis,探索性數(shù)據(jù)分析)等。前期的工作不僅關乎數(shù)據(jù)的質量,也關乎最終模型預測效果的好壞。

每當我們手上出現(xiàn)一份新的數(shù)據(jù)時,我們都需要事先通過人為地觀察、字段釋義等方式預先對數(shù)據(jù)進行熟悉與理解。在清洗、處理完數(shù)據(jù)之后才會開始真正的 EDA 過程。

這個過程最通用的操作無非就是對現(xiàn)有的數(shù)據(jù)做基本性的統(tǒng)計、描述,包括平均值、方差、最大值與最小值、頻數(shù)、分位數(shù)、分布等。實際上往往都是比較固定且機械的。

在 R 語言中 skimr 包提供了豐富的數(shù)據(jù)探索性統(tǒng)計信息,比 Pandas 中的 describe() 基本統(tǒng)計信息更為豐富一些。

01-skmir

但在 Python 社區(qū)中,我們同樣也可以實現(xiàn) skmir 的功能,甚至比 skmir 有過之而無不及。那就是使用 pandas-profiling 庫來幫助我們搞定前期的數(shù)據(jù)探索工作。

快速使用

通過 pip install pandas-profiling 之后我們就可以直接導入并使用了。我們只需要通過其一行核心代碼 ProfileReport(df, **kwargs) 即可實現(xiàn): 

  1. import pandas as pd  
  2. import seaborn as sns  
  3. from pandas_profiling import ProfileReport  
  4. titanic = sns.load_dataset("Titanic")  
  5. ProfileReport(titanic, title = "The EDA of Titanic Dataset"

如果我們是在 Jupyter Notebook 中使用,則會在 Jupyter Notebook 中渲染最后直接輸出到單元格中。

02-profile

pandas-profiling 庫也擴展了 DataFrame 對象方法,這意味著我們也可以通過像調用方法一樣使用 DataFrame.profile_report() 來實現(xiàn)和上述一樣的效果。

無論使用哪種方式,最后都是生成一個 ProfileReport 對象;如果要進一步貼合 Jupyter Notebook,可以直接調用 to_widgets() 和 to_notebook_iframe() 來分別生成掛架或對應的組件,在展示效果上會更加美觀,而不是在輸出欄進行展示。

03-widgets

如果不在 Jupyter Notebook 中直接使用,而是使用其他 IDE,那么我們可以通過 to_file() 方法來直接將報告輸出,需要注意的是最后保存的文件名需要加上擴展名 .html。

另外,Pandas-profiling 還和多個框架、云上平臺等進行了集成,能夠讓我們方便的進行調用,詳情見官網(wǎng)(https://pandas-profiling.github.io/pandas-profiling/docs/master/rtd/pages/integrations.html)。

進一步定制報告信息

雖然生成的探索性報告基本上已經能滿足我們了解數(shù)據(jù)的簡單需求,但是當中輸出的信息也有些不足或是冗余。好在 pandas-profiling 也給我們提供了自己定制的可能。這些定制的配置最終會寫入到 yaml 文件中。

在官方文檔中列出了幾個我們能夠進一步調整的部分,分別對應了報告 Tab 欄的各部分標簽:

  •  vars:主要用于調整數(shù)據(jù)中字段或變量在報告中的呈現(xiàn)的統(tǒng)計指標
  •  missing_diagrams:主要涉及到關于缺失值字段的可視化展示
  •  correlations:顧名思義即調整有關各字段或變量之間相關關系的部分,包括是否計算相關系數(shù)、以及相關的閾值等
  •  interactions:主要涉及兩兩字段或變量之前的相關關系圖呈現(xiàn)
  •  samples:分別對應了 Pandas 中 head() 和 tail() 方法,即預覽前后多少條數(shù)據(jù)

這些部分還有許多可以指定的參數(shù),感興趣的朋友可以直接參考官方文檔(https://pandas-profiling.github.io/pandas-profiling/docs/master/rtd/pages/advanced_usage.html),本文就不多加贅述了。

于是我們可以直接在代碼中手動寫入并進行調整,就像這樣: 

  1. profile_config = {  
  2.     "progress_bar": False,   
  3.     "sort": "ascending",  
  4.     "vars": {  
  5.         "num": {"chi_squared_threshold": 0.95},  
  6.         "cat": {"n_obs": 10}  
  7.     },   
  8.     "missing_diagrams": {  
  9.         'heatmap': False,  
  10.         'dendrogram': False,  
  11.     }  
  12.  
  13. profile = titanic.profile_report(**profile_config)  
  14. profile.to_file("titanic-EDA-report.html") 

將所有配置的信息寫在一個字典變量中,再通過 **variable 的形式將鍵值對進行解包使其能夠根據(jù)鍵來對應到相應的參數(shù)中。

除了代碼中的配置寫法外,如果你稍微了解一點 yaml 配置文件的寫法,那么我們也無需在代碼中逐個寫入,而是可以通過在 yaml 文件中修改。修改的不僅官方文檔中所列出的配置選項,還能修改未列出的參數(shù)。由于配置文件過長,這里我只放出基于官方默認配置文件 config_default.yaml 自己做出修改的部分: 

  1. # profile_config.yml  
  2. vars:  
  3.     num:  
  4.         quantiles:  
  5.               - 0.25  
  6.               - 0.5  
  7.               - 0.75  
  8.         skewness_threshold: 10  
  9.         low_categorical_threshold: 5  
  10.         chi_squared_threshold: 0.95  
  11.     cat:  
  12.         length: True  
  13.         unicode: True  
  14.         cardinality_threshold: 50  
  15.         n_obs: 5  
  16.         chi_squared_threshold: 0.95  
  17.         coerce_str_to_date: False  
  18.     bool:  
  19.         n_obs: 3 
  20.      file:  
  21.         active: False  
  22.     image:  
  23.         active: False  
  24.         exif: True  
  25.         hash: True  
  26. sort: "desceding" 

修改完 yaml 文件之后,我們只需在生成報告時通過 config_file 參數(shù)指定配置文件所在的路徑即可,就像這樣: 

  1. df.profile_report(config_file = "你的文件路徑.yml"

通過將配置文件與核心代碼相分離,以提高我們代碼的簡潔性與可讀性。

最后

pandas-profiling 庫為我們提供了一種方便、快捷的數(shù)據(jù)探索方式,提供了比基本統(tǒng)計信息更為豐富的一些信息(如缺失值相關圖、相關關系圖等),能夠為我們前期的數(shù)據(jù)探索工作節(jié)省出大量的時間。

不過由于 pandas-profiling 生成的報告維度相對來說比較固定和模板化,所以對于想讓報告更加豐富的朋友來說你可能需要自己再去做一些額外的工作了;同時,需要注意的是,pandas-profiling 比較適合在中小數(shù)據(jù)集中使用。隨著數(shù)據(jù)量的增加,報告渲染的速度會大幅度變慢且生成報告會耗時更多。

如果你仍有對大數(shù)據(jù)集進行 EDA 的需要,那么像官方文檔說的那樣你最好是通過抽樣或者采樣的方式來在不影響數(shù)據(jù)分布的情況下減少樣本量。官方也有表示會在以后的版本中使用 modin、spark 和 dask 等高性能的庫或框架作為可擴展的后端,到那時也許生成大數(shù)據(jù)集的 EDA 報告時可能就不是問題了。 

 

責任編輯:龐桂玉 來源: Python中文社區(qū)
相關推薦

2020-05-13 11:32:28

數(shù)據(jù)分析數(shù)值分析

2022-11-11 11:35:14

2020-10-28 18:28:12

Pandas數(shù)據(jù)分析GUI

2012-09-04 09:20:26

測試軟件測試探索測試

2024-06-12 11:57:51

2024-07-30 12:10:22

2023-12-22 09:14:48

EDA數(shù)據(jù)分析探索性數(shù)據(jù)分析

2024-05-21 13:33:49

2016-10-11 15:32:26

探索性大數(shù)據(jù)

2022-02-24 10:40:14

Python代碼

2023-05-11 13:39:39

EDA數(shù)據(jù)分析

2023-11-30 07:23:53

數(shù)據(jù)分析EDA

2017-04-25 18:35:47

硅谷數(shù)據(jù)科學家數(shù)據(jù)分析

2021-04-28 16:00:55

數(shù)據(jù)分析人工智能機器學習

2024-10-23 09:00:00

數(shù)據(jù)分析Pandas

2023-11-10 09:41:44

Python代碼

2022-07-12 09:02:36

探索性測試測試

2016-08-27 16:16:40

大數(shù)據(jù)

2022-05-13 09:36:06

Python水印命令

2019-01-28 17:42:33

Python數(shù)據(jù)預處理數(shù)據(jù)標準化
點贊
收藏

51CTO技術棧公眾號

亚洲精品高清无码视频| 狂野欧美性猛交xxxx| 国产在线国偷精品产拍免费yy| 国产精品久久久久久久久粉嫩av| av在线亚洲一区| 中日韩美女免费视频网址在线观看 | 91免费人成网站在线观看18| 欧美高清视频看片在线观看| 少妇激情综合网| 自拍在线观看| 亚洲国产欧美在线成人app| 中文字幕免费高清电视剧网站在线观看| 欧美在线免费视屏| 韩国中文免费在线视频| 亚洲成人av福利| 天天噜天天色| 亚洲一区二区三区国产| 男人资源网站| 一区二区三区视频在线看| 国产三级香港三韩国三级| 国产精品欧美一区喷水| 色偷偷亚洲女人天堂观看欧| 亚洲人成网站色在线观看| 九色免费视频| 精品色蜜蜜精品视频在线观看| 在线免费国产视频| 欧美视频在线一区| 日本h片在线| 亚洲欧洲一区二区三区久久| 最新欧美电影| 欧美人与性动交a欧美精品| 久久免费视频66| 国产精品欧美风情| 一区二区亚洲精品| 亚洲国产日韩综合一区| 国产乱码字幕精品高清av| 国产精品www在线观看| 2024国产精品| 国产精品久久久久永久免费看| 亚洲国产成人精品视频| 男人在线资源站| 日韩精品在线第一页| 欧美视频在线视频精品| 97精品视频在线| 偷拍欧美精品| 一本久久a久久精品vr综合 | 国产精品网站视频| 99热免费精品| 久久亚洲国产成人精品无码区| 国产亚洲综合性久久久影院| 传媒在线观看| 精品国产乱码久久久久久蜜臀 | 成年网站在线播放| 天天色图综合网| 97人人在线视频| 久久久久久久成人| 91精品天堂福利在线观看| 视频一区三区| 亚洲国产成人私人影院tom| 亚洲私人影吧| 亚洲免费伊人电影在线观看av| 成人台湾亚洲精品一区二区 | 日韩三区视频| 国产精品毛片va一区二区三区| 韩日欧美一区二区三区| 成人网址大全| 欧美一区二区观看视频| 国产午夜精品一区在线观看| 亚洲一区二区少妇| 成人免费看视频| 可以直接在线观看的av| 日韩在线观看av| 欧美天堂亚洲电影院在线观看| 日韩a级在线观看| 日本韩国欧美一区二区三区| 亚洲a成人v| 国产精品三区www17con| 91免费在线看| av毛片在线免费看| 欧美性受xxxx白人性爽| 看片的网站亚洲| a4yy在线播放免费观看视频| 在线观看视频亚洲| 欧美日韩亚洲国产精品| 手机在线看福利| 亚洲国语精品自产拍在线观看| 国内精品久久久久久久久电影网| 五月天激情图片| 欧美亚洲一区三区| 国产精品任我爽爆在线播放| 欧美亚洲爱爱另类综合| 一区二区成人在线视频| 日本午夜免费一区二区| 美女黄毛**国产精品啪啪| 亚洲精品乱码久久久久久日本蜜臀| 桃色av一区二区| 成人在线免费观看视视频| 97se亚洲国产综合在线| 狂野欧美性猛交xxxxx视频| 国产精品极品尤物在线观看 | 欧洲亚洲精品| 日韩国产高清一区| 亚洲自拍偷拍综合| 国产一区二区在线观| 亚洲国产精品高清| 成人av在线观| 神马久久高清| 国产精品久久久久久久久久久久冷| 中文字幕不卡在线视频极品| 91丨porny丨首页| 日韩深夜福利网站| 亚洲一区二区免费视频软件合集| 久久手机免费视频| 色婷婷综合成人| 国产精品久久久久久久久果冻传媒| 亚洲精品国产首次亮相| 国产精品久久久久77777丨| 日本精品在线中文字幕| 少妇人妻互换不带套| 国产高清一区视频| 日产精品久久久一区二区| 91成人在线播放| 欧美激情三级免费| 337p粉嫩大胆色噜噜噜噜亚洲| 久久99精品视频| 日韩电影免费网站| 亚洲91网站| 成年女人在线看片| 国产美女久久精品| 久久国产一区二区三区| 制服丝袜中文字幕一区| 粉嫩13p一区二区三区| 欧美天天在线| 北条麻妃一区二区三区在线观看 | 国产麻豆乱码精品一区二区三区| 黑人巨大精品欧美一区二区三区| 亚洲福利国产精品| 亚洲最新在线观看| 中文字幕日韩一区二区| 色欧美片视频在线观看| 婷婷综合五月天| 国产盗摄视频一区二区三区| 91午夜国产| 欧美日韩一道本| 视频一区二区视频| 美女撒尿一区二区三区| 欧美变态tickling挠脚心| 国产清纯在线一区二区www| 日韩av一级片| 香蕉精品久久| 亚洲动漫在线观看| ****av在线网毛片| 久久99国产精品二区高清软件| 久久久久97| 欧美fxxxxxx另类| 国产亚洲精品久久久久婷婷瑜伽| 日韩在线不卡| 亚洲最大av| 美女一区二区三区| 26uuu精品一区二区三区四区在线| 久久这里只有精品6| 中文字幕在线视频一区| 亚洲一区二区三区四区在线| 日韩国产欧美在线播放| 日韩视频在线一区二区三区 | 国产·精品毛片| 国产午夜一区二区三区| 一区二区三区在线视频免费| 欧美一级久久久久久久大片| 日韩一区二区av| 国产91精品久久久| av不卡在线免费观看| 啊v视频在线| 日韩精品一区国产| 秋霞av亚洲一区二区三| 夜夜嗨av一区二区三区四季av| 亚洲高清视频中文字幕| 一区二区在线观看免费| 亚洲欧美一区二区三区在线| 国产精品久久久久久久久久久久久久 | 亚洲伊人色欲综合网| 精品日韩一区二区三区| 91在线观看免费网站| 男女猛烈激情xx00免费视频| 日韩免费啪啪| 国产精品日本一区二区不卡视频| 亚洲大黄网站| 亚洲成a人片综合在线| 欧美裸身视频免费观看| 精品自在线视频| 久久久久资源| 亚州色图欧美色图| 亚洲天堂网站| 有码中文亚洲精品| 亚洲成人在线网站| 另类人妖一区二区av| 欧美大胆a级| 91www在线| 亚洲日本高清| 色欲av无码一区二区人妻|