如何从 pandas dataframe 中绘制两列


有两种常见的方法可以绘制 pandas DataFrame 中两列的值:

方法 1:将两列绘制为散点图上的点

 import matplotlib. pyplot as plt

plt. scatter (df[' column1 '], df[' column2 '])

方法 2:将两列绘制为折线图上的线

 df. plot (x=' column1 ',y=[' column2 ',' column3 '])

以下示例展示了如何在实践中使用每种方法。

示例 1:在散点图上绘制两列

假设我们有以下 pandas DataFrame,其中包含有关各种篮球运动员的信息:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

我们可以使用以下代码创建一个散点图,在 x 轴上显示列,在 y 轴上显示辅助列:

 import matplotlib. pyplot as plt

#create scatterplot
plt. scatter (df[' points '], df[' assists '])

#add axis labels
plt. xlabel (' Points ')
plt. ylabel (' Assists ') 

pandas 在散点图上绘制两列

X 轴包含来自点数列的值,Y 轴包含来自助攻列的值。

示例 2:在线图上绘制两列

假设我们有以下 pandas DataFrame,其中包含篮球队在六场不同比赛中的得分和允许得分的信息:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' game ': [1, 2, 3, 4, 5, 6],
                   ' points_for ': [99, 94, 92, 90, 87, 85],
                   ' points_against ': [89, 76, 78, 78, 85, 87]})

#view DataFrame
print (df)

   game points_for points_against
0 1 99 89
1 2 94 76
2 3 92 78
3 4 90 78
4 5 87 85
5 6 85 87

我们可以使用下面的代码创建一个折线图,在一条线上显示point_for的值,在另一线上显示points_against的值,同时在x轴上使用game的值:

 #plot points_for and points_against columns on same y-axis
df. plot (x=' game ', y=[' points_for ', ' points_against ']) 

蓝线代表每场比赛中的points_for列值,橙色线代表每场比赛中的points_against列值。

其他资源

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

如何在 Pandas 中使用 Groupby 和 Plot
如何绘制Pandas中列值的分布
如何调整熊猫图的图形大小

添加评论

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