Pandas内置数据可视化ML

Pandas内置数据可视化ML

数据可视化是以图形的形式呈现数据。它通过以简单易懂的形式总结和展示大量的数据,帮助人们理解数据的意义,并有助于清晰有效地沟通信息。

在本教程中,我们将学习pandas内置的数据可视化功能它建立在matplotlib的基础上,但为了方便使用,它被植入了pandas中

让我们来看看!

安装
安装pandas的最简单方法是使用pip。

pip install pandas
Python

本文通过绘制不同类型的图表,展示了在pandas中使用内置数据可视化功能的实例。

导入必要的库和数据文件-

本教程中使用的样本csv文件df1和df2可以从这里下载。

import numpy as np
import pandas as pd
  
# There are some fake data csv files
# you can read in as dataframes
df1 = pd.read_csv('df1', index_col = 0)
df2 = pd.read_csv('df2')
Python

样式表-

Matplotlib有一些样式表,可以用来使绘图看起来更漂亮一些。这些样式表包括 plot_bmh , plot_fivethirtyeight , plot_ggplot 等等。它们基本上创建了一套风格规则,让你的绘图遵循。我们推荐使用它们,它们使你的所有情节具有相同的外观,感觉更专业。如果想让公司的地块都有相同的外观,我们甚至可以创建自己的地块(不过创建起来有点繁琐)。

以下是如何使用它们。

在plt.style.use()之前的绘图看起来像这样:

df1['A'].hist()
Python

输出 :
Pandas内置数据可视化ML

调用风格:

现在,调用ggplot样式后的图看起来是这样的。

import matplotlib.pyplot as plt
plt.style.use('ggplot')
df1['A'].hist()
Python

输出 :
Pandas内置数据可视化ML

调用bmh风格后,地块看起来是这样的。

plt.style.use('bmh')
df1['A'].hist()
Python

输出 :
Pandas内置数据可视化ML

调用dark_background样式后,情节看起来像这样。

plt.style.use('dark_background')
df1['A'].hist()
Python

输出 :
Pandas内置数据可视化ML

呼叫fivethirtyeight风格后,情节看起来是这样的。

plt.style.use('fivethirtyeight')
df1['A'].hist()
Python

输出 :
Pandas内置数据可视化ML

剧情类型 –

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和线之间的区域通常用颜色、纹理和填充物来强调。通常,人们用面积图来比较两个或多个数量。

df2.plot.area(alpha = 0.4)
Python

输出 :
Pandas内置数据可视化ML

2.) Barplots

柱状图或条形图是一种图表或图形,用高度或长度与所代表的数值成正比的矩形条呈现分类数据。条形图可以是垂直或水平的。垂直条形图有时也被称为线图。

df2.head()
Python

输出 :
Pandas内置数据可视化ML

df2.plot.bar()
Python

输出 :
Pandas内置数据可视化ML

df2.plot.bar(stacked = True)
Python

输出 :
Pandas内置数据可视化ML

3.) Histograms

直方图是一种让你发现并显示一组连续数据的基本频率分布(形状)的图。这允许检查数据的基本分布(如正态分布)、异常值、偏斜度等。

df1['A'].plot.hist(bins = 50)
Python

输出 :
Pandas内置数据可视化ML

4.)线状图

直线图是一种沿数线显示数据频率的图形。当数据是时间序列时,最好使用折线图。它是一种快速、简单的组织数据的方法。

df1.plot.line(x = df1.index, y ='B', figsize =(12, 3), lw = 1)
Python

输出 :
Pandas内置数据可视化ML

5.)散点图

当你想显示两个变量之间的关系时,可以使用散点图。散点图有时也被称为相关图,因为它们显示了两个变量之间的相关关系。

df1.plot.scatter(x ='A', y ='B')
Python

输出 :
Pandas内置数据可视化ML

你可以使用c来根据另一列的值进行着色 使用cmap来表示要使用的颜色映射。关于所有的颜色图,请查看:http://matplotlib.org/users/colormaps.html

df1.plot.scatter(x ='A', y ='B', c ='C', cmap ='coolwarm')
Python

输出 :
Pandas内置数据可视化ML

或者用s来表示基于另一列的大小。s参数需要是一个数组,而不仅仅是一个列的名称。

df1.plot.scatter(x ='A', y ='B', s = df1['C']*200)
Python

输出 :
Pandas内置数据可视化ML

6.)箱形图

它是一种绘图,在其中画出一个矩形来代表第二和第三四分位数,通常里面有一条垂直线来表示中值。下四分位数和上四分位数显示为矩形两侧的水平线。
Boxplot是一种基于五个数字摘要(”最小值”、第一四分位数(Q1)、中位数、第三四分位数(Q3)和 “最大值”)来显示数据分布的标准化方式。它可以告诉你关于你的离群值以及它们的数值是多少。它还可以告诉你,你的数据是否对称,你的数据分组有多紧密,以及你的数据是否倾斜和如何倾斜。

df2.plot.box() # Can also pass a by = argument for groupby
Python

输出 :
Pandas内置数据可视化ML

7.)六边形宾格图

六边形分选是另一种方法来管理有许多开始重叠的点的问题。六角分选法绘制的是密度,而不是点。点被分到网格化的六边形中,分布(每个六边形的点的数量)用六边形的颜色或面积来显示。
对双变量数据有用,可替代散点图。

df = pd.DataFrame(np.random.randn(1000, 2), columns =['a', 'b'])
df.plot.hexbin(x ='a', y ='b', gridsize = 25, cmap ='Oranges')
Python

输出 :
Pandas内置数据可视化ML

8.)核心密度估计图(KDE)

KDE是一种技术,可以让你在给定的一组数据中创建一条平滑的曲线。

如果你想把一些数据的 “形状 “可视化,作为一种连续的直方图的替代品,这可能很有用。它也可以用来生成看起来像来自某个数据集的点–这种行为可以为简单的模拟提供动力,其中模拟对象是根据真实数据建模的。

df2['a'].plot.kde()
Python

输出 :
Pandas内置数据可视化ML

df2.plot.density()
Python

输出 :
Pandas内置数据可视化ML

就是这样!希望你能明白为什么这种绘图方法会比完全使用matplotlib要容易得多,它在易用性和对图的控制之间取得了平衡。很多绘图调用也接受其父级matplotlib plt.调用的额外参数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册