Python

データ分析をはじめよう(相関分析)

前回の続きです。Pythonを用いてデータを分析していきます。

データ分析をはじめよう「Python 3 エンジニア認定データ分析試験」に合格したので、実際のデータ分析を行ってみます。...

準備したデータ

2017年から2021年のプロ野球セ・リーグのデータを用います。

具体的には以下のような構造のデータになります。

順位 年度 チーム名 ホームラン数 与四球数

セ・リーグ6チームの5年分のデータなので、合計30レコードあります。

データの要約を出力

import pandas as pd

df = pd.read_csv("2017_2021_central_league.csv")  #()内は読み込むファイルの名称です。

print(df.info())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 30 entries, 0 to 29                     #30個のデータが格納されていることがわかります。
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   rank    30 non-null     int64 
 1   year    30 non-null     int64 
 2   team    30 non-null     object
 3   HR      30 non-null     int64 
 4   BB      30 non-null     int64 
dtypes: int64(4), object(1)
memory usage: 1.3+ KB
None

データの要約統計量(平均、標準偏差など)を出力

import pandas as pd

df = pd.read_csv("2017_2021_central_league.csv")

print(df.describe())

            rank        year          HR          BB
count  30.000000    30.00000   30.000000   30.000000
mean    3.500000  2019.00000  127.133333  444.700000   #データの平均値です。
std     1.737021     1.43839   31.724823   54.780534   #データの標準偏差です。
min     1.000000  2017.00000   69.000000  340.000000   #データの最小値です。rankは1が優勝、6が最下位です。
25%     2.000000  2018.00000  110.000000  395.000000
50%     3.500000  2019.00000  128.500000  450.000000
75%     5.000000  2020.00000  149.500000  487.500000
max     6.000000  2021.00000  183.000000  535.000000   #データの最大値です。

データの加工

誤りや不意の修正

今回のデータには特に誤りや不備は含まれておりませんので割愛します。

欠損値の補完

今回のデータに欠けはないので割愛します。

正規化

今回のデータはすでに単位が揃っているので、こちらも割愛します。

データの分析

今回は相関分析を行います。

実装したコード

import pandas as pd
import numpy as np

df = pd.read_csv("2017_2021_central_league.csv")
df = df.drop("year",axis=1)                        #不要な列を削除しています。

print(df.corr())                                   #相関係数はcorr関数で出力できます。

出力結果

順位 本塁打数 与四球数
順位 1.000000 -0.429261 0.127016
本塁打数 -0.429261 1.000000 0.360407
与四球数 0.127016 0.360407 1.000000

相関係数は必ず-1から1の間となります。1に近いほど強い正の相関関係があり、-1に近いほど強い負の相関関係があり、0では相関関係がないことを表します。

順位と本塁打数の相関関係

相関係数は「-0.429261」です。

本塁打数が増えれば、順位の値が小さく(=高順位)となることを示しています。

当初仮説は正しかったようです。

順位と与四球数の相関関係

相関係数は「0.127016」です。

与四球数が増えれば、順位の値が大きく(=低順位)となることを示しています。

まとめ

相関係数を行うことができました。

順位と本塁打数の相関関係は正の値になりましたので、当初仮説「 『ホームラン』をたくさん打ったチームが『優勝」する』は正しかったように思われますが、1よりも0に近いことを考えると、あまり関係が無かったとも言えます。

 

 

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA