数据可视化【从编程小白到画图大拿】:5.数据分布

参考来源:Vitu.AI

在本篇中我们来学习一下如何看数据的分布,其中直方图和密度图是比较常用的

设置你的Notebook

我们还是老样子在开头先设置一下

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
print("设置完成")

选择数据集

这次我们会使用Iris数据集,Iris是常用的分类实验数据集,由Fisher, 1936收集整理,Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

iris以鸢尾花的特征作为数据来源,常用在分类操作中。该数据集由3种不同类型的鸢尾花的各50个样本数据构成。其中的一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。
该数据集包含了4个属性:

  • Sepal.Length(花萼长度),单位是cm;
  • Sepal.Width(花萼宽度),单位是cm;
  • Petal.Length(花瓣长度),单位是cm;
  • Petal.Width(花瓣宽度),单位是cm;

种类:Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),以及Iris Virginica(维吉尼亚鸢尾)。

下载并上传

点击这里 下载 数据集

我们再把csv文件上传到vitu的数据集空间里

数据可视化【从编程小白到画图大拿】:5.数据分布_第1张图片

接下来我们用pandas来加载这个文件:

# Path of the file to read
iris_filepath = "iris.csv"

# Read the file into a variable iris_data
iris_data = pd.read_csv(iris_filepath, index_col="Id")

# Print the first 5 rows of the data
iris_data.head()

直方图

我们来创建一个直方图看一下花瓣宽度的分布,使用到sns.distplot这个函数

# Histogram 
sns.distplot(a=iris_data['Petal Length (cm)'], kde=False)

数据可视化【从编程小白到画图大拿】:5.数据分布_第2张图片

密度图

下一个我们要探索的是密度图kernel density estimate(KDE)。如果你不太熟悉KDE,你可以大致认为它是一个平滑过的直方图

我们用sns.kdeplot命令来画

# KDE plot 
sns.kdeplot(data=iris_data['Petal Length (cm)'], shade=True)

数据可视化【从编程小白到画图大拿】:5.数据分布_第3张图片

二维密度图

我们还可以用sns.jointplot来画二维的密度图

# 2D KDE plot
sns.jointplot(x=iris_data['Petal Length (cm)'], y=iris_data['Sepal Width (cm)'], kind="kde")

数据可视化【从编程小白到画图大拿】:5.数据分布_第4张图片

原文地址:数据可视化【从编程小白到画图大拿】:5.数据分布

你可能感兴趣的:(python)