データサイエンス時代で活躍する人材になるために

データサイエンス時代で活躍できる人材になるために

純粋数学から応用数学までデータサイエンスに関わる様々なことについて取り上げます!

FiFAランキングのデータから分かるブラジルの凄さ

本記事では,kaggleで提供されているFIFA Soccer Ranking*1のデータセットを用いた簡単な考察を行います.

CSVファイルの読み込み

まずはcsvファイルの読み込みです.

#データの読み込み
import pandas as pd
df=pd.read_csv("fifa_ranking.csv")

次にデータの先頭5行を表示します.

df.head() 

   rank country_full     ...     confederation   rank_date
0     1      Germany     ...              UEFA  1993-08-08
1     2        Italy     ...              UEFA  1993-08-08
2     3  Switzerland     ...              UEFA  1993-08-08
3     4       Sweden     ...              UEFA  1993-08-08
4     5    Argentina     ...          CONMEBOL  1993-08-08

[5 rows x 16 columns]

1993年8月では,1位がドイツ,2位がイタリア,3位がなんとスイス!だったみたいです.

次に日本のFIFAランキングに注目したいと思います.

data=df[df["country_full"]=="Japan"]
rank=data["rank"]
rank.describe() 

count    286.000000
mean      35.048951
std       13.066002
min        9.000000
25%       24.000000
50%       35.000000
75%       45.750000
max       62.000000

日本のFIFAランキングの平均はおおよそ35位であり,1番いい時が9位???

data[data["rank"]==9] 

      rank country_full     ...     confederation   rank_date
8128     9        Japan     ...               AFC  1998-02-18
8320     9        Japan     ...               AFC  1998-03-18

1998年2~3月では,日本のFIFAランキングは9位だったようです.こんなにランキングが良かったカラクリは当時のFIFAランキングのシステムにあるようです.詳しくはこの記事*2
を見てください.

日本のFIFAランキングの推移

次に日本のFIFAランキングの推移の様子を可視化したいと思います.

import matplotlib.pyplot as plt 
data["rank_date"]=pd.to_datetime(data["rank_date"])   
date=data["rank_date"]                 
fig,ax=plt.subplots()          
ax.plot(date,rank) 
plt.show()

f:id:koki12070930:20190902175734p:plain
日本のFIFAランキングの推移

ブラジルの凄さ

ブラジルについても見ていきたいと思います.
めんどくさいので可視化のためのコードは関数化します.

def fifatrans(country):
    df["rank_date"]=pd.to_datetime(df["rank_date"])     
    data=df[df["country_full"]==country]
    rank=data["rank"]   
    date=data["rank_date"]   
    fig,ax=plt.subplots()          
    ax.plot(date,rank)  
    plt.show() 

fifatrans("Brazil")

f:id:koki12070930:20190902180414p:plain
ブラジルのFIFAランキングの推移

ブラジルやば...ずっと1位だったんや.
箱ひげ図も書いてみます.

def ranking(country):
    data=df[df["country_full"]==country]
    rank=data["rank"]
    return rank

rank1=ranking("Brazil")
rank2=ranking("Germany")
rank3=ranking("Argentina")

fig,ax=plt.subplots()         
ax.boxplot([rank1,rank2,rank3], labels=['Brazil', 'Germany', 'Argentina'])  
plt.show()

f:id:koki12070930:20190902183600p:plain
ドイツやアルゼンチンと比較してもブラジルの凄さが分かります.
今日は疲れたのでここまでにしておきます.明日以降再度編集するかもしれません!


下記の本はnumpyやpandas 等についてかなり丁寧に書いてあるので基礎から学び方にはおすすめです!

ではまた!