如何在 Python 中绘制 DataFrame 的图形?

了解如何绘制数据框将帮助您只需几行代码即可执行更好的数据分析。可视化数据框是数据科学家为更好地理解数据而进行的首要活动之一。

可视化数据集通常可以提供更好的画面,并帮助您规划行动方案。它还可以轻松发现异常值并推测数据集中是否存在任何相关性。

简而言之,了解如何可视化数据框是一项重要的技能。

在 Python 中绘制数据框的方法

让我们开始导入数据集。

1.导入数据集

在本教程的范围内,我们将使用加州住房数据集。

让我们首先使用pandas将数据导入到数据框中

import pandas as pd
housing = pd.read_csv("/sample_data/california_housing.csv")
housing.head()
住房数据框

使用 Pandas 绘图

您可以使用Pandas Dataframe 中的.plot() 方法绘制 Dataframe 。

您需要将 matplotlib 导入到您的 python 笔记本中。使用以下行来执行此操作。

import matplotlib.pyplot as plt

1. 绘制数据框直方图

要绘制与住房数据中所有列相对应的直方图,请使用以下代码行:

housing.hist(bins=50, figsize=(15,15))
plt.show()
绘图

当您需要查看绘制在一起的所有列时,这非常有用。接下来,我们看看如何制作两列之间的散点图。

2. 散点图

散点图有助于确定两个变量之间的相关性。

要绘制两个变量之间的散点图,请使用以下代码行:

housing.plot(x='population', y = 'median_house_value', kind='scatter')
plt.show()

这给出了以下输出:

散点图

我们可以看到数据集中存在一些异常值。我们看不到这两个变量之间存在很强的相关性。

让我们尝试绘制中位收入中位房价的关系图。

housing.plot(x='median_income', y = 'median_house_value', kind='scatter')
plt.show()
散点图

在这里我们可以看到两个变量之间存在正相关关系。随着收入中位数的上升,住房价值中位数也趋于上升。

要查看更强相关性的示例,让我们绘制另一个散点图。这次是在人口房间总数之间。从逻辑上讲,这两者应该具有很强的正相关性。

正相关意味着两个变量倾向于同时增加和减少。

housing.plot(x='population', y = 'total_rooms', kind='scatter')
plt.show()
散点图

我们的猜测是正确的,房间总数和人口数量确实有很强的正相关性。我们可以这么说,因为这两个变量往往会一起增加,如图所示。

绘制不同绘图时可以使用的不同参数如下:

  • ‘line’ :线图(默认)
  • ‘bar’:垂直条形图
  • ‘barh’:水平条形图
  • ‘hist’:直方图
  • ‘盒子’:箱线图
  • ‘kde’:核密度估计图
  • ‘密度’:与’kde’相同
  • ‘面积’:面积图
  • ‘pie’:饼图
  • ‘scatter’:散点图
  • ‘hexbin’ : 十六进制图

使用 Seaborn 进行绘图

或者,您也可以使用Seaborn绘制 Dataframe 它是一个基于matplotlib的 Python 数据可视化库。它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形。

Seaborn 是一个非常强大的可视化工具。您将获得很多自定义选项。

1.导入Seaborn

让我们开始将 Seaborn 导入到我们的 python 笔记本中。

import seaborn as sns

2. 使用 Distplot

Seaborn 提供了绘制distplot 的选项distplot 是一个直方图,可以自动计算良好的默认 bin 大小。

您可以使用以下代码行创建一个:

sns.distplot(housing['median_house_value'])
分布图

在这里您还可以发现异常值。我们也尝试绘制一个中位收入图。

sns.distplot(housing['median_income'])
分布图

结论

本教程是关于用 Python 绘制 Pandas 数据框。我们介绍了绘制 DataFrame 的两种不同方法。希望您和我们一起学习愉快!