如何绘制熊猫数据框的多列

Posted

技术标签:

【中文标题】如何绘制熊猫数据框的多列【英文标题】:how to plot many columns of Pandas data frame 【发布时间】:2020-07-28 10:15:03 【问题描述】:

我需要使用波士顿住房数据集制作散点图。我想用 MEDV 列绘制所有其他列。此代码使所有绘图都在同一个图表上。我怎样才能将它们分开?enter image description here

import matplotlib.pyplot as plt
%matplotlib inline
fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
for column, ax in zip(['CRIM', 'ZN','INDUS', 'CHAS', 'NOX', 'RM'], axes):
    plt.scatter(boston_df[column], boston_df.MEDV)

【问题讨论】:

【参考方案1】:

如果您将axes 对象展平,您的代码将起作用,因为目前您正在循环一次axes,这是一个二维对象。所以在 for 循环中使用axes.flatten(),然后使用ax.scatter,它将每列绘制到一个新图形。

绘制的顺序是第一行,然后是第二行,然后是第三行

fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
for column, ax in zip(['CRIM', 'ZN','INDUS', 'CHAS', 'NOX', 'RM'], axes.flatten()):
    ax.scatter(boston_df[column], boston_df.MEDV)

【讨论】:

【参考方案2】:

您需要使用ax.scatter 而不是plt.scatter,以便它们在您创建的轴上绘图。

【讨论】:

【参考方案3】:

尝试使用 ax[row,col].scatter() 进行绘图。这应该可以解决问题。然后,您必须遍历行和列。

【讨论】:

以上是关于如何绘制熊猫数据框的多列的主要内容,如果未能解决你的问题,请参考以下文章

如何在seaborn中将多个图形绘制为数据框的子图和多列?

如何使用点绘制熊猫数据框的两列

如何使用 Seaborn 并排绘制熊猫数据框的多组列

熊猫:使用数据框的多列作为另一个的索引

matplotlib:在条形图上绘制多列熊猫数据框

如何将熊猫数据框中每列中唯一值的数量绘制为条形图?