熊猫内置数据可视化| ML

原文:https://www . geesforgeks . org/pandas-内置数据可视化-ml/

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

在本教程中,我们将了解熊猫内置的数据可视化功能!它是由 matplotlib 构建的,但是为了更容易使用,它被烤成了熊猫!

让我们来看看!

安装 安装熊猫最简单的方法就是使用 pip:

pip install 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')

样式表–

Matplotlib 有样式表,可以用来让情节看起来更好一点。这些样式表包括plot_bmhplot_fivethirtyeightplot_ggplot 等。他们基本上创造了一套你的情节遵循的风格规则。我们推荐使用它们,它们让你所有的情节看起来都一样,感觉更专业。我们甚至可以创建自己的,如果希望公司的地块都有相同的外观(虽然创建起来有点乏味)。

下面是如何使用它们。

之前 plt.style.use()地块看起来是这样的:

df1['A'].hist()

输出:

调用样式:

现在,在调用ggplot样式后,剧情看起来是这样的:

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

输出:

调用bmh样式后的图是这样的:

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

输出:

调用dark_background样式后的图是这样的:

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

输出:

调用fivethirtyeight样式后的图是这样的:

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

输出:

绘图类型–

熊猫内置了几种剧情类型,大部分都是按性质统计的剧情:

  • df.plot.area df.plot.barh 的缩写 df.plot .密度 df.plot.hist(打印. hist)文件 df.plot.line df.plot .散点图 df .绘图. bar df.plot.box df.plot .河西边 df.plot.kde df.plot.pie

    您也可以只调用df.plot(kind='hist') 或者用上面列表中显示的任何关键术语(例如‘box’、‘barh’等)替换该类参数。).让我们开始检查它们!

    1.)区域

    面积图或面积图以图形方式显示定量数据。它基于折线图。轴和线之间的区域通常用颜色、纹理和阴影来强调。人们通常用面积图来比较两个或更多的量。

    py df2.plot.area(alpha = 0.4)

    输出:

    2.)Barplots

    条形图或条形图是用矩形条表示分类数据的图表,矩形条的高度或长度与它们所代表的值成比例。条形图可以垂直或水平绘制。垂直条形图有时被称为折线图。

    py df2.head()

    输出:

    py df2.plot.bar()

    输出:

    py df2.plot.bar(stacked = True)

    输出:

    3.)直方图

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

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

    输出:

    4.)线图

    折线图是显示沿着数字线的数据频率的图表。当数据是时间序列时,最好使用线图。这是一种快速、简单的数据组织方式。

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

    输出:

    5.)散点图

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

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

    输出:

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

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

    输出:

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

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

    输出:

    6.)方框图

    这是一种绘图,其中绘制了一个矩形来表示第二个和第三个四分位数,通常内部有一条垂直线来指示中间值。下四分位数和上四分位数显示为矩形两侧的水平线。 箱线图是基于五个数字汇总(“最小值”、第一个四分位数(Q1)、中间值、第三个四分位数(Q3)和“最大值”)显示数据分布的标准化方式。它可以告诉你你的异常值和它们的值。它还可以告诉你你的数据是否对称,你的数据分组有多紧密,以及你的数据是否和如何偏斜。

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

    输出:

    7.)六边形箱图

    六边形宁滨是另一种方法,可以解决许多点开始重叠的问题。六角形宁滨图密度,而不是点。点被归入网格六边形,分布(每个六边形的点数)使用六边形的颜色或面积来显示。 用于二元数据,散点图的替代:

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

    输出:

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

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

    如果您只想将某些数据的“形状”可视化,作为离散直方图的一种连续替换,这可能会很有用。它还可以用来生成看起来像来自某个数据集的点,这种行为可以支持简单的模拟,其中模拟对象是根据真实数据建模的。

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

    输出:

    py df2.plot.density()

    输出:

    就是这样!希望你能明白为什么这种绘图方法会比完全打开的 matplotlib 更容易使用,它平衡了易用性和对图形的控制。许多情节调用也接受其父 matplotlib plt 的附加参数。打电话。