分享

用 Python 生成直方图:你会怎么做?

 网摘文苑 2022-12-05 发布于新疆
用 Python 生成直方图:你会怎么做?

你想知道如何在 Python 中生成直方图吗?在这篇文章中,我将向你展示如何操作。

数值数据的分布可以用直方图表示(Karl Pearson 引入了这个术语)。直方图是数据的可视化表示,它使用不同高度的条形图,其中每个条形图将数字划分为不同的范围。可用于在 Python 中绘制直方图的两个模块是 Matplotlib 和 Pandas。

让我们了解如何创建直方图!

什么是直方图?

直方图是数据分析中非常重要的图形。直方图是一种使用不同高度的条显示数字数据集分布的方法。更高的条形表明更多数据落在该特定范围内。

本文的目的是让你熟悉直方图

我们将从使用 Python 和 Matplotlib 绘制直方图开始。Matplotlib 是一个可用于生成图形和图表的库。

如何使用 NumPy 为直方图生成数据?

在继续之前,让我们创建一些虚拟数据,我们将使用这些数据通过 NumPy 绘制直方图。

NumPy 是一个可以处理多维数组的 Python 库。

我之前的文章有详细介绍Numpy跟Matplotlib:

Python每日一库之Numpy

理解 Matplotlib 需要知道的 4 件事

要安装 NumPy,请以管理员身份打开命令提示符。然后键入以下将在你的计算机上安装 NumPy 的命令。

pip install numpy

同样,你可以使用以下 Pip 命令安装 Matplotlib:

pip install matplotlib

导入 NumPy 后,你可以使用 NumPy 数组生成数据。以下代码从正态高斯分布中生成随机样本。

import numpy as np # 创建虚拟数据点data = np.random.normal( 170 , 10 , 250 ) print( data )

输出是:

用 Python 生成直方图:你会怎么做?

你已使用 NumPy 生成示例数据。

现在我们将继续使用这些数据绘制直方图。

如何使用 Python 和 Matplotlib 绘制直方图?

我们已经使用 NumPy 生成了数据。我们现在将使用 Matplotlib 绘制第一个直方图。

以下代码片段生成一个非常基本的直方图。

import matplotlib.pyplot as pltimport numpy as npdata = np.random.normal(170, 10, 250)plt.hist(data)plt.show()
用 Python 生成直方图:你会怎么做?

我们已经成功绘制了第一个直方图。

Matplotlib 带有很多参数来自定义图形和图表。我们将使用它们来使上面的直方图更好。

在下表中,你可以看到一些常用参数:

参数说明 binsbins参数用于指定要将分布划分成的bins(区间)的数量。color颜色参数用于对直方图进行着色。bottom允许修改直方图中每个bin底部的位置。align它定义直方图条的水平对齐方式(“左”、“中”、“右”)。

有许多参数没有在上表中显示。你可以在matplotlib.pyplot.hist()方法的官方文档中找到它们。

现在让我们使用上面的一些参数来查看直方图中的差异。

import matplotlib.pyplot as pltimport numpy as np data = np.random.normal(170, 10, 250)plt.hist(data, bins= 20, color='green')plt.show()

上面的代码是相同的,略有变化。我们已将 bins 设置为 20,将直方图的颜色设置为绿色。

这是直方图的样子:

用 Python 生成直方图:你会怎么做?

如何使用 Pandas 绘制直方图?

为了操作和分析数据,Python 编程语言有一个名为 Pandas 的软件包。它允许你使用时间序列和数学表。

我之前的文章有详细介绍Pandas:Python每日一库之Pandas

在 Pandas 的帮助下,你可以轻松高效地执行数据分析任务。

使用 Pandas,你可以使用内置函数hist()绘制直方图。

我们将根据已经生成的数据使用hist()函数生成直方图。

看看下面的代码:

# import librariesimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt # generate random data using NumPyrandom_data = np.random.normal(170, 10, 250) # convert the data into a Pandas DataFramedataframe = pd.DataFrame(random_data) # plot histogram using Pandas hist() functiondataframe.hist()

在此代码中,我们生成与之前使用 NumPy 所做的相同的数据,然后我们为生成的数据创建一个Pandas DataFrame

然后,我们在 Pandas DataFrame 上调用hist()函数,它会生成以下直方图。

用 Python 生成直方图:你会怎么做?

结论

在本文中,我们从直方图的基础知识入手并了解了它们的用途。

然后,你实现了 Python 代码来绘制使用 NumPy 生成的虚拟数据的直方图。你已经了解了如何在生成直方图时应用不同的参数。

在文章的最后,我们使用 Pandas 库绘制了基于相同虚拟数据的直方图。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多