2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Jリーグの対戦成績をPythonでデータ分析してみた

Last updated at Posted at 2021-12-13

概要

kaggleにあるサッカーJリーグの2017年から2019年シーズンの全対戦成績から、Pythonを用いて、多方面に分析してみます
ソースコードの記載がありますが、初心者向けにコメント多めです

前提

1.kaggleのサイトからcsvファイルをダウンロードします
https://www.kaggle.com/yosafatvs/meiji-yasuda-jleague-1-20182019-league-log
※kaggleの会員登録必要です

2.Python3の環境構築
https://qiita.com/search?q=python+%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89

3.サッカー愛があること

実装編

最初にダウンロードしてきたcsvファイルを読み込んで、中身を見てみましょう

analysis.py
# -*= encoding: utf-8 -*-
import pandas as pd

# csvファイルのパス(任意)
csv_path = '/Users/app/csv/J. League Data Site.csv'

# csvファイルを読み込む
data = pd.read_csv(csv_path)

# 出力
print(data)

ここで、ターミナルで「python3 analysis.py」を実行すると
このような出力がされます
スクリーンショット 2021-12-13 23.04.41.png
"Year"の列を見ると2017年から2019年にかけて、全試合の勝敗が入ってそうです

"Year"の列だけで出力してみましょう

analysis.py
# "Year"の列だけ出力
print(data['Year'])

スクリーンショット 2021-12-13 23.13.48.png

csvファイルのヘッダーの真ん中の方にある観客数(Att.)も出力できます

analysis.py
print(data['Att.'])

次に、ホームチームの1試合当たりの平均得点と
3シーズン分のホームチームの合計得点を計算してみましょう
ヘッダの"Score_Home"項目を設定します

analysis.py
# ホームチームの1試合当たりのゴール数を計算(Score_Homeより)
print(data['Score_Home'].mean())

# ホームチームのゴール数の合計を計算(Score_Homeより)
print(data['Score_Home'].sum())

スクリーンショット 2021-12-13 23.23.55.png
1試合あたり1.4点くらい入ってますね
3年間のホーム側の合計得点は1271なので、1シーズンで約400点も入っていますね

2022年の王者川崎フロンターレの2017年〜2019年のホームゲームの成績を出力してみましょう
ヘッダの項目が"Home"で、値が"Kawasaki-F"で絞ります。

analysis.py
# 川崎フロンターレがホームの場合
print(data.set_index('Home').loc['Kawasaki-F'])

スクリーンショット 2021-12-14 20.55.00.png
ほとんど勝っていますね。強いな〜

↓2019年に限ると、あんまり勝っていないですね
スクリーンショット 2021-12-14 20.56.05.png

川崎の3シーズンのホームの試合の平均得点、平均失点を見てみましょう

analysis.py
# 川崎フロンターレがホームの試合のスタッツ
print(data.set_index('Home').loc['Kawasaki-F'].mean())

スクリーンショット 2021-12-14 21.00.28.png
1試合平均得点は、1.96点、ほぼ2点!
1試合平均失点は、0.94点、1点未満!
多くの試合が2-1で勝っている成績
強さが分かります

そして1試合平均観客数は2万2867人
多いですね!

最新のソースコードはGitHubで公開しています
https://github.com/heihei-wooooo/analysis-j-league

備考

有料ですがfootystatsというサイトでJリーグや欧州のプレミアリーグ、ラリーガなどの詳細なデータがあります。
APIが公開されているので、サッカー好きなPythonエンジニアはクリックしてみてください!
https://footystats.org/jp/

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?