使用matplotlib,seaborn统计缺失数据可视化

matplotlib的使用:

  step1.创建一个空白的画布,此函数返回fig画布  

fig=plt.figure()

  step2.创建子图

ax=fig.add_subplot(1,2,1)#意思是将画布分为1行2列现在利用第一列返回为第一列的子图

  step3.开始画图,此处我们利用seaborn来画,它是matplotlib的高级封装,它不需要指定画布,它是在上一步中指定的画布的画图,参数为x,y

sns.barplot(missing[col], missing.index)

  step4.ax可以让我们方便的操作子图,我们设置子图的标题,其中的f表示其内部存在参数,在此处为col它使用{}括起来,使变量可以显示在图中

ax.set_title(f‘Missing values on each columns({col})‘)

  step5.最后显示图 fig.show()不显示图像目前原因不知道。

plt.show()

  step6.若想保存图像

plt.savefig("1.png")

本次例子使用的是kaggle的一个练习

https://www.kaggle.com/c/cat-in-the-dat-ii

参考https://www.kaggle.com/warkingleo2000/first-step-on-kaggle/data

完整的代码展示,有两种做法第一种做法是参考的https://zhuanlan.zhihu.com/p/93423829

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
def plot_missing_values(df):
    cols = df.columns
    count = [df[col].isnull().sum() for col in cols]#注意此处知识点,同时注意isnull()用法。
    percent = [i / len(df) for i in count]#此处
    missing = pd.DataFrame({‘number‘: count, ‘proportion‘: percent}, index=cols)#注意如何构建dataframe

    fig= plt.figure( figsize=(20, 7))

    for i, col in enumerate(missing.columns):
        ax=fig.add_subplot(1,2,i+1)
        ax.set_title(f‘Missing values on each columns({col})‘)
        sns.barplot(missing[col], missing.index)

    plt.show()

if __name__ == ‘__main__‘:
    raw_train=pd.read_csv("train.csv")
    raw_test=pd.read_csv("test.csv")
    plot_missing_values(raw_train)
    #plt.savefig("1.png")
    plot_missing_values(raw_test)
    #plt.savefig("2.png")

第二种做法参考kaggle https://www.kaggle.com/warkingleo2000/first-step-on-kaggle/data

def plot_missing_values(df):

    cols = df.columns
    count = [df[col].isnull().sum() for col in cols]
    percent = [i/len(df) for i in count]
    missing = pd.DataFrame({‘number‘:count, ‘proportion‘: percent}, index=cols)

    fig, ax = plt.subplots(1,2, figsize=(20,7))
    for i, col in enumerate(missing.columns):

        plt.subplot(1,2,i+1)
        plt.title(f‘Missing values on each columns({col})‘)
        sns.barplot(missing[col], missing.index)
        mean = np.mean(missing[col])
        std = np.std(missing[col])
        plt.ylabel(‘Columns‘)
        plt.plot([], [], ‘ ‘, label=f‘Average {col} of missing values: {mean:.2f} \u00B1 {std:.2f}‘)
        plt.legend()
    plt.show()
    return missing.sort_values(by=‘number‘, ascending=False)

分析所画图形:

train数据

test数据

从上面两张图中我们可以看到不论是训练数据还是测试的数据在每个特征中缺失所占比例很少,都在0.0x的范围之中。

原文地址:https://www.cnblogs.com/AI-Creator/p/12405638.html

时间: 2024-11-13 11:15:43

使用matplotlib,seaborn统计缺失数据可视化的相关文章

数据可视化库-Matplotlib基本操作

python-3.7     pycharm matplotlib 2.2.3 """ 数据可视化库-Matplotlib 时间:2018\9\12 0012 """ import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt print("""\n-------------------

Python图表数据可视化Seaborn:2. 分类数据可视化

1. 分类数据可视化 - 分类散点图 stripplot() / swarmplot() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("whitegrid") sns.set_context("paper") # 设置风格.尺度 import warnings

数据可视化(三)- Seaborn简易入门

本文内容来源:https://www.dataquest.io/mission/133/creating-compelling-visualizations 本文数据来源:http://www.cdc.gov/nchs/nsfg.htm 本文摘要:介绍一个以matplotlib为底层,更容易定制化作图的库Seaborn   Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplo

Python进阶(四十)-数据可视化の使用matplotlib进行绘图

Python进阶(四十)-数据可视化の使用matplotlib进行绘图 前言 ??matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图.实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间.用户在熟悉了核心对象之后,可以轻易的定制图像.matplotlib的对象体系也是计算机图形学的一个优秀范例.即使你不是Python程序员,你也可以从文中

【Data Visual】一文搞懂matplotlib数据可视化

一文搞懂matplotlib数据可视化 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令人感到枯燥乏味,或者是为了看上去绚丽多彩而显得极端复杂.为了有效地传达思想概念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,从而实现对于相当稀疏而又复杂的数据集的深入洞察.然而,设计人员往往并不能很好地把握设计与功能之间的平衡,从而创造出华而不实的数据可视化形式,

Python - matplotlib 数据可视化

在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进行数据分析>以及网上一些博客的总结. 1  matplotlib简介 matplotlib是Pythom可视化程序库的泰斗,经过几十年它仍然是Python使用者最常用的画图库.有许多别的程序库都是建立在它的基础上或直接调用它,比如pandas和seaborn就是matplotlib的外包, 它们让你使用

Python图表分布数据可视化:Seaborn

conda  install seaborn  是安装到jupyter那个环境的 1. 整体风格设置 对图表整体颜色.比例等进行风格设置,包括颜色色板等调用系统风格进行数据可视化 set() / set_style() / axes_style() / despine() / set_context() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % ma

Python图表数据可视化Seaborn:3. 线性关系| 时间线| 热图

1. 线性关系数据可视化 lmplot() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("darkgrid") sns.set_context("paper") # 设置风格.尺度 import warnings warnings.filterwarnings

python数据可视化(matplotlib)

数据可视化 基本概念 数据可视化是指借助于图形化的手段,清晰.快捷有效的传达与沟通信息.同时,也可以辅助用户做出相应的判断,更好的去洞悉数据背后的价值. 字不如表,表不如图. 观察号码的频率,每个号码出现了多少次? 文字 08 10 15 20 30 31 33 0601 09 10 17 21 28 32 1302 05 08 13 19 21 28 1003 05 07 14 18 23 25 07…… …… 表格 图形 通过可视化图表方式,就可以清晰的表达信息 可视化图形辅助决策 1854