Pandas内置数据可视化ML
数据可视化是以图形的形式呈现数据。它通过以简单易懂的形式总结和展示大量的数据,帮助人们理解数据的意义,并有助于清晰有效地沟通信息。
在本教程中,我们将学习pandas内置的数据可视化功能它建立在matplotlib的基础上,但为了方便使用,它被植入了pandas中
让我们来看看!
安装
安装pandas的最简单方法是使用pip。
本文通过绘制不同类型的图表,展示了在pandas中使用内置数据可视化功能的实例。
导入必要的库和数据文件-
本教程中使用的样本csv文件df1和df2可以从这里下载。
样式表-
Matplotlib有一些样式表,可以用来使绘图看起来更漂亮一些。这些样式表包括 plot_bmh , plot_fivethirtyeight , plot_ggplot 等等。它们基本上创建了一套风格规则,让你的绘图遵循。我们推荐使用它们,它们使你的所有情节具有相同的外观,感觉更专业。如果想让公司的地块都有相同的外观,我们甚至可以创建自己的地块(不过创建起来有点繁琐)。
以下是如何使用它们。
在plt.style.use()之前的绘图看起来像这样:
输出 :
调用风格:
现在,调用ggplot样式后的图看起来是这样的。
输出 :
调用bmh风格后,地块看起来是这样的。
输出 :
调用dark_background样式后,情节看起来像这样。
输出 :
呼叫fivethirtyeight风格后,情节看起来是这样的。
输出 :
剧情类型 –
pandas内置了几种绘图类型,其中大部分是统计绘图的性质。
- df.plot.area
- df.plot.barh
- df.plot.density
- df.plot.hist
- df.plot.line
- df.plot.scatter
- df.plot.bar
- df.plot.box
- df.plot.hexbin
- df.plot.kde
- df.plot.pie
你也可以直接调用df.plot(kind=’hist’)或者用上面列表中的任何一个关键术语(如’box’、’barh’等)替换这个参数。让我们开始浏览它们吧!
1.) Area
面积图或面积图以图形方式显示定量数据。它是基于线形图的。axis和线之间的区域通常用颜色、纹理和填充物来强调。通常,人们用面积图来比较两个或多个数量。
输出 :
2.) Barplots
柱状图或条形图是一种图表或图形,用高度或长度与所代表的数值成正比的矩形条呈现分类数据。条形图可以是垂直或水平的。垂直条形图有时也被称为线图。
输出 :
输出 :
输出 :
3.) Histograms
直方图是一种让你发现并显示一组连续数据的基本频率分布(形状)的图。这允许检查数据的基本分布(如正态分布)、异常值、偏斜度等。
输出 :
4.)线状图
直线图是一种沿数线显示数据频率的图形。当数据是时间序列时,最好使用折线图。它是一种快速、简单的组织数据的方法。
输出 :
5.)散点图
当你想显示两个变量之间的关系时,可以使用散点图。散点图有时也被称为相关图,因为它们显示了两个变量之间的相关关系。
输出 :
你可以使用c来根据另一列的值进行着色 使用cmap来表示要使用的颜色映射。关于所有的颜色图,请查看:http://matplotlib.org/users/colormaps.html
输出 :
或者用s来表示基于另一列的大小。s参数需要是一个数组,而不仅仅是一个列的名称。
输出 :
6.)箱形图
它是一种绘图,在其中画出一个矩形来代表第二和第三四分位数,通常里面有一条垂直线来表示中值。下四分位数和上四分位数显示为矩形两侧的水平线。
Boxplot是一种基于五个数字摘要(”最小值”、第一四分位数(Q1)、中位数、第三四分位数(Q3)和 “最大值”)来显示数据分布的标准化方式。它可以告诉你关于你的离群值以及它们的数值是多少。它还可以告诉你,你的数据是否对称,你的数据分组有多紧密,以及你的数据是否倾斜和如何倾斜。
输出 :
7.)六边形宾格图
六边形分选是另一种方法来管理有许多开始重叠的点的问题。六角分选法绘制的是密度,而不是点。点被分到网格化的六边形中,分布(每个六边形的点的数量)用六边形的颜色或面积来显示。
对双变量数据有用,可替代散点图。
输出 :
8.)核心密度估计图(KDE)
KDE是一种技术,可以让你在给定的一组数据中创建一条平滑的曲线。
如果你想把一些数据的 “形状 “可视化,作为一种连续的直方图的替代品,这可能很有用。它也可以用来生成看起来像来自某个数据集的点–这种行为可以为简单的模拟提供动力,其中模拟对象是根据真实数据建模的。
输出 :
输出 :
就是这样!希望你能明白为什么这种绘图方法会比完全使用matplotlib要容易得多,它在易用性和对图的控制之间取得了平衡。很多绘图调用也接受其父级matplotlib plt.调用的额外参数。