Pandas之直方图和密度图

介绍

数据中挖掘信息的一个重要手段就是可视化。本文会使用 Pandas、Matplotlib、seaborn 等流行的库,了解可视化。所有绘制图表的具体方式,你参考链接内容
需要引入的包:

import warnings
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
warnings.filterwarnings('ignore')

直方图

直方图依照相等的间隔将值分组为柱,它的形状可能包含了数据分布的一些信息,如高斯分布、指数分布等。当分布总体呈现规律性,但有个别异常值时,可以通过直方图辨认。
最简单的查看数值变量分布的方法是使用 DataFrame 的 hist() 方法绘制直方图。
参考链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.hist.html

df = pd.DataFrame({
    'length': [1.5, 0.5, 1.2, 0.9, 3],
    'width': [0.7, 0.2, 0.15, 0.2, 1.1]
    }, index=['pig', 'rabbit', 'duck', 'chicken', 'horse'])
hist = df.hist(bins=3)

在这里插入图片描述

密度图

密度图(density plots),也叫核密度图( kernel density estimate,KDE)是理解数值变量分布的另一个方法。相比直方图,它的主要优势是不依赖于柱的尺寸,更加清晰。
最简单的查看数值变量分布的方法是使用 DataFrame 的 plot.kde 方法绘制密度图。
参考链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.density.html?highlight=density#pandas.DataFrame.plot.density

df = pd.DataFrame({
    'x': [1, 2, 2.5, 3, 3.5, 4, 5],
    'y': [4, 4, 4.5, 5, 5.5, 6, 6],
})
ax = df.plot.kde()

在这里插入图片描述

其他方法,同时显示密度图和直方图

使用 seaborn 的 distplot() 方法观测数值变量的分布。默认情况下,该方法将同时显示直方图和密度图。
参考链接:https://seaborn.pydata.org/generated/seaborn.distplot.html

import seaborn as sns, numpy as np
sns.set(); np.random.seed(0)
x = np.random.randn(100)
ax = sns.distplot(x)

在这里插入图片描述

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值