前言

Pandas是非常常见的数据分析工具,我们一般都会处理好处理数据然后使用searbonmatplotlib来进行绘制。但在Pandas内部就已经集成了matplotlib,本文将展示Pandas内部的画图方法。

画图类型

Pandas中内置的画图方法如下几类,基本上都是常见的画图方法。每种方法底层也是使用的matplotlib

line : line plot (default)

bar : vertical bar plot

barh : horizontal bar plot

hist : histogram

box : boxplot

density/kde : Density Estimation

area : area plot

pie : pie plot

scatter : scatter plot

hexbin : hexbin plot

在进行画图时我们有两种调用方法:

df = pd.DataFrame({
    'sales': [3, 3, 3, 9, 10, 6],
    'signups': [4, 5, 6, 10, 12, 13],
    'visits': [20, 42, 28, 62, 81, 50],
}, index=pd.date_range(start='2018/01/01', end='2018/07/01', freq='M'))
 
# 方法1,这种方法是高层API,需要制定kind
df.plot(kind='area')
 
# 方法2,这种方法是底层API
df.plot.area()

面积图(area)

面积图直观地显示定量数据下面的区域面积,该函数包装了 matplotlib 的area函数。

# 默认为面积堆叠
df.plot(kind='area')

# 设置面积不堆叠
df.plot.area(stacked=False)

# 手动指定坐标轴
df.plot.area(y='sales', x='signups')

条形图(bar)

条形图是一种用矩形条显示分类数据的图,矩形条的长度与它们所代表的值成比例。条形图显示离散类别之间的比较。图的一个轴显示比较的特定类别,另一个轴表示测量值。

df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
# 手动设置坐标轴
ax = df.plot.bar(x='lab', y='val', rot=0)

# 并排绘制
df.plot.bar(rot=0)

# 堆叠绘制
df.plot.bar(stacked=True)

# 分图绘制
axes = df.plot.bar(rot=0, subplots=True)
axes[0].legend(loc=2)
axes[1].legend(loc=2)  

水平条形图(barh)

水平条形图是用矩形条形表示定量数据的图表,矩形条形的长度与它们所代表的值成正比。条形图显示离散类别之间的比较。

# 并排绘制
df.plot.barh(rot=0)

# 堆叠绘制
df.plot.barh(stacked=True)

箱线图(boxplot)

箱线图是一种通过四分位数以图形方式描绘数值数据组的方法。该框从数据的 Q1 到 Q3 四分位值延伸,在中位数 (Q2) 处有一条线。

age_list = [8, 10, 12, 14, 72, 74, 76, 78, 20, 25, 30, 35, 60, 85]
df = pd.DataFrame({"gender": list("MMMMMMMMFFFFFF"), "age": age_list})
ax = df.plot.box(column="age", by="gender", figsize=(10, 8))

密度图(density)

核密度估计 (KDE) 是一种估计随机变量的概率密度函数 (PDF) 的非参数方法。

s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])
ax = s.plot.kde()

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()

六边形图(hexbin)

和热力图类似,具体的颜色按照密度来进行展示。但形状使用六边形图代替。

n = 10000
df = pd.DataFrame({'x': np.random.randn(n),
                   'y': np.random.randn(n)})
ax = df.plot.hexbin(x='x', y='y', gridsize=20)

直方图(hist)

df = pd.DataFrame(
    np.random.randint(1, 7, 6000),
    columns = ['one'])
df['two'] = df['one']   np.random.randint(1, 7, 6000)
ax = df.plot.hist(bins=12, alpha=0.5)

折线图(line)

s = pd.Series([1, 3, 2])
s.plot.line()

df = pd.DataFrame({
   'pig': [20, 18, 489, 675, 1776],
   'horse': [4, 25, 281, 600, 1900]
   }, index=[1990, 1997, 2003, 2009, 2014])
 
lines = df.plot.line()

饼图(pie)

df = pd.DataFrame({'mass': [0.330, 4.87 , 5.97],
                   'radius': [2439.7, 6051.8, 6378.1]},
                  index=['Mercury', 'Venus', 'Earth'])
 
plot = df.plot.pie(y='mass', figsize=(5, 5))

# 默认使用index进行分组
df.plot.pie(subplots=True, figsize=(11, 6))

散点图(scatter)

df = pd.DataFrame([[5.1, 3.5, 0], [4.9, 3.0, 0], [7.0, 3.2, 1],
                   [6.4, 3.2, 1], [5.9, 3.0, 2]],
                  columns=['length', 'width', 'species'])
 
ax1 = df.plot.scatter(x='length',y='width', c='DarkBlue')

到此这篇关于Pandas 内置的十种画图方法的文章就介绍到这了,更多相关Pandas 内置画图方法内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

Pandas 内置的十种画图方法的更多相关文章

  1. Pandas如何将表格的前几行生成html实战案例

    这篇文章主要介绍了Pandas如何将表格的前几行生成html实战案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  2. pandas如何计算同比环比增长

    这篇文章主要介绍了pandas如何计算同比环比增长,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. python sklearn与pandas实现缺失值数据预处理流程详解

    对于缺失值的处理,主要配合使用sklearn.impute中的SimpleImputer类、pandas、numpy。其中由于pandas对于数据探索、分析和探查的支持较为良好,因此围绕pandas的缺失值处理较为常用

  4. jQuery常用的一些技巧汇总

    本文给大家汇总了一些jQuery常用的方法,都是我们日常项目中经常会用到的,附上示例,有需要的小伙伴可以参考下。

  5. Java中String类常用方法使用详解

    String类是一个很常用的类,它位于java.lang包下,是Java语言的核心类,用来保存代码中的字符串常量的,并且封装了很多操作字符串的方法。本文就来聊聊String类常用方法使用,感兴趣的可以了解一下

  6. Python使用pandas将表格数据进行处理

    这篇文章主要介绍了Python使用pandas将表格数据进行处理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

  7. PHP时间戳使用实例代码

    照例,首先向大家介绍什么是时间戳。 说得通俗一些,时间戳就是根据当前系统时间生成的一组随机数字。时间戳一般作为对数据唯一性的一种判断依据。接下来向大家介绍一下我们可以如何运用时间戳。

  8. 源码解析ios开发SDWebImage方法

    这篇文章主要为大家介绍了源码解析ios开发SDWebImage方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  9. Javascript数组Array方法解读

    这篇文章是Javascript数组Array系列文章的第二篇,主要给大家讲解的是javascript数组arrayd的所有方法,希望大家能够喜欢。

  10. JavaScript 对象的属性和方法4种不同的类型

    JavaScript里,对象的属性和方法支持4种不同的类型,需要的朋友可以参考下。

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部