Pandas dataframe から 2 つの列をプロットする方法
pandas DataFrame の 2 つの列の値をプロットするには、次の 2 つの一般的な方法があります。
方法 1: 2 つの列を散布図上の点としてプロットする
import matplotlib. pyplot as plt
plt. scatter (df[' column1 '], df[' column2 '])
方法 2: 2 つの列を折れ線グラフに線としてプロットする
df. plot (x=' column1 ',y=[' column2 ',' column3 '])
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: 散布図に 2 つの列をプロットする
さまざまなバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。
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: 折れ線グラフに 2 つの列をプロットする
6 つの異なる試合でバスケットボール チームが獲得したポイントと許可されたポイントに関する情報を含む次のパンダ データフレームがあるとします。
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
次のコードを使用して、x 軸にgameの値を使用しながら、 point_forの値を 1 つの線に表示し、 points_againstの値を別の線に表示する折れ線グラフを作成できます。
#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 で Groupby と Plot を使用する方法
Pandasで列値の分布をプロットする方法
パンダプロットの図のサイズを調整する方法