前回の続きです。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に近いことを考えると、あまり関係が無かったとも言えます。