本篇文章給大家分享的是有關Python中missingno如何使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供石鼓網(wǎng)站建設、石鼓做網(wǎng)站、石鼓網(wǎng)站設計、石鼓網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、石鼓企業(yè)網(wǎng)站模板建站服務,10多年石鼓做網(wǎng)站經驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
pip install missingno
import missingno as msno
missingno一般配合numpy和pandas一起使用:
import numpy as np
import pandas as pd
案例中還會用到quilt,這是一個數(shù)據(jù)包管理器,可以讓你像管理代碼一樣管理數(shù)據(jù),anaconda沒有內置,所以需要安裝一下。
from quilt.data.ResidentMario import missingno_data
collisions = missingno_data.nyc_collision_factors()
collisions = collisions.replace("nan", np.nan)
## 繪制缺失值矩陣圖
msno.matrix無效矩陣是一個數(shù)據(jù)密集的顯示,它可以快速直觀地看出數(shù)據(jù)完整度。
msno.matrix(collisions.sample(250))
空白越多說明缺失越嚴重
右側的迷你圖概述了數(shù)據(jù)完整性的一般形狀,并指出了數(shù)據(jù)集中具有最大和最小無效值的行數(shù)。需要說明的是,這個矩陣圖最多容納50個變量,超過此范圍的標簽開始重疊或變得不可讀,默認情況下,大尺寸顯示器會忽略它們。
如果要處理時間序列數(shù)據(jù),則可以使用關鍵字參數(shù)指定周期性freq:
null_pattern = (np.random.random(1000).reshape((50, 20)) > 0.5).astype(bool)
null_pattern = pd.DataFrame(null_pattern).replace({False: None})
msno.matrix(null_pattern.set_index(pd.period_range('1/1/2011', '2/1/2015', freq='M')) , freq='BQ')
![](https://my-wechat.oss-cn-beijing.aliyuncs.com/image_20200403162803.png)
條形圖提供與矩陣圖相同的信息,但格式更簡單。msno.bar(collisions.sample(1000))
missingno相關性熱力圖可以顯示無效的相關性:一個變量的存在或不存在如何強烈影響的另一個的存在。
數(shù)值為1:兩個變量一個缺失另一個必缺失;
數(shù)值為-1:一個變量缺失另一個變量必然不缺失。
數(shù)值為0:變量缺失值出現(xiàn)或不出現(xiàn)彼此沒有影響。
熱力圖非常適合于選擇變量對之間的數(shù)據(jù)完整性關系,但是當涉及到較大的關系時,其解釋力有限,并且它不特別支持超大型數(shù)據(jù)集。
注:始終為滿或始終為空的變量沒有任何有意義的關聯(lián),因此會從可視化中刪除。
msno.heatmap(collisions)
通過樹狀圖,可以更全面地觀察缺失變量的關聯(lián)性,揭示比關聯(lián)熱力圖更深刻的相關關系:
msno.dendrogram(collisions)
以上就是Python中missingno如何使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。