Pandas:使用多列创建散点图


您可以使用以下基本语法在 pandas DataFrame 中使用多列创建散点图:

 import pandas as pd

#create scatter plot of A vs. B
ax1 = df. plot (kind=' scatter ', x=' A ', y=' B ', color=' r ')

#add scatter plot on same graph of C vs. D
ax2 = df. plot (kind=' scatter ', x=' C ', y=' D ', color=' g ', ax=ax1)

此特定示例使用 A 列和 B 列创建散点图,然后使用 C 列和 D 列在同一图表上覆盖另一个散点图。

以下示例展示了如何在实践中使用此语法。

示例:使用多列创建 Pandas 散点图

假设我们有以下 pandas DataFrame,显示 A 队和 B 队各个篮球运动员的得分和助攻:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A_assists ': [3, 4, 5, 6, 7, 7, 8, 9],
                   ' A_points ': [6, 8, 8, 10, 13, 13, 15, 16],
                   ' B_assists ': [3, 4, 4, 5, 5, 6, 7, 7],
                   ' B_points ': [7, 9, 9, 13, 10, 11, 12, 13]})
#view DataFrame
print (df)

   A_assists A_points B_assists B_points
0 3 6 3 7
1 4 8 4 9
2 5 8 4 9
3 6 10 5 13
4 7 13 5 10
5 7 13 6 11
6 8 15 7 12
7 9 16 7 13

我们可以使用以下语法使用A_assistsA_points列创建散点图,然后使用B_assistsB_points列在同一图表上覆盖另一个散点图:

 #create scatter plot of A_assists vs. A_points
ax1=df. plot (kind=' scatter ', x=' A_assists ', y=' A_points ', color=' r ', label=' A ')

#add scatter plot on same graph using B_assists vs. B_points
ax2=df. plot (kind=' scatter ', x=' B_assists ', y=' B_points ', color=' g ', label=' B ', ax=ax1)

#specify x-axis and y-axis labels
ax1. set_xlabel (' Assists ')
ax1. set_ylabel (' Points ') 

使用多列的 pandas 散点图

最终结果是一个散点图,其中包含红色的A_assistorsA_points列的值以及绿色的B_assistorsB_points列的值。

注意#1 :标签参数指定在绘图图例中使用的标签。

注意#2 :在此示例中,我们使用两组列在同一个图表上绘制两个散点图。但是,您可以使用ax3ax4等。向散点图中添加任意数量的列。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何在 Pandas 中按组绘制直方图
如何在 Pandas 中绘制分类数据
如何绘制Pandas中列值的分布

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注