如何从 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 ')
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 中执行其他常见任务: