Pythonプログラミング:国別ノーベル賞受賞者数のグラフ化

このサイトを参考にしながら、過去(1901年〜2016年)のノーベル賞受賞者数を考察してみる。

!git clone https://github.com/ammarshaikh123/Projects-on-Data-Cleaning-and-Manipulation.git
Cloning into 'Projects-on-Data-Cleaning-and-Manipulation'...
remote: Enumerating objects: 68, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (67/67), done.
remote: Total 144 (delta 39), reused 0 (delta 0), pack-reused 76
Receiving objects: 100% (144/144), 8.52 MiB | 3.71 MiB/s, done.
Resolving deltas: 100% (45/45), done.
cd Projects-on-Data-Cleaning-and-Manipulation
/home/workspace/git/Projects-on-Data-Cleaning-and-Manipulation
cd A Visual History of Nobel Prize Winners
/home/workspace/git/Projects-on-Data-Cleaning-and-Manipulation/A Visual History of Nobel Prize Winners

データのロード

データをロードして中身をチラ見する。

# Loading in required libraries
import pandas as pd
import seaborn as sns
import numpy as np

# Reading in the Nobel Prize data
nobel = pd.read_csv('datasets/nobel.csv')

# Taking a look at the first several winners
nobel.tail(10)
year category prize motivation prize_share laureate_id laureate_type full_name birth_date birth_city birth_country sex organization_name organization_city organization_country death_date death_city death_country
901 2016 Chemistry The Nobel Prize in Chemistry 2016 “for the design and synthesis of molecular mac… 1/3 932 Individual Sir J. Fraser Stoddart 1942-05-24 Edinburgh United Kingdom Male Northwestern University Evanston, IL United States of America NaN NaN NaN
902 2016 Chemistry The Nobel Prize in Chemistry 2016 “for the design and synthesis of molecular mac… 1/3 933 Individual Bernard L. Feringa 1951-05-18 Barger-Compascuum Netherlands Male University of Groningen Groningen Netherlands NaN NaN NaN
903 2016 Economics The Sveriges Riksbank Prize in Economic Scienc… “for their contributions to contract theory” 1/2 935 Individual Oliver Hart 1948-10-09 London United Kingdom Male Harvard University Cambridge, MA United States of America NaN NaN NaN
904 2016 Economics The Sveriges Riksbank Prize in Economic Scienc… “for their contributions to contract theory” 1/2 936 Individual Bengt Holmström 1949-04-18 Helsinki Finland Male Massachusetts Institute of Technology (MIT) Cambridge, MA United States of America NaN NaN NaN
905 2016 Literature The Nobel Prize in Literature 2016 “for having created new poetic expressions wit… 1/1 937 Individual Bob Dylan 1941-05-24 Duluth, MN United States of America Male NaN NaN NaN NaN NaN NaN
906 2016 Medicine The Nobel Prize in Physiology or Medicine 2016 “for his discoveries of mechanisms for autophagy” 1/1 927 Individual Yoshinori Ohsumi 1945-02-09 Fukuoka Japan Male Tokyo Institute of Technology Tokyo Japan NaN NaN NaN
907 2016 Peace The Nobel Peace Prize 2016 “for his resolute efforts to bring the country… 1/1 934 Individual Juan Manuel Santos 1951-08-10 Bogotá Colombia Male NaN NaN NaN NaN NaN NaN
908 2016 Physics The Nobel Prize in Physics 2016 “for theoretical discoveries of topological ph… 1/2 928 Individual David J. Thouless 1934-09-21 Bearsden United Kingdom Male University of Washington Seattle, WA United States of America NaN NaN NaN
909 2016 Physics The Nobel Prize in Physics 2016 “for theoretical discoveries of topological ph… 1/4 929 Individual F. Duncan M. Haldane 1951-09-14 London United Kingdom Male Princeton University Princeton, NJ United States of America NaN NaN NaN
910 2016 Physics The Nobel Prize in Physics 2016 “for theoretical discoveries of topological ph… 1/4 930 Individual J. Michael Kosterlitz 1943-06-22 Aberdeen United Kingdom Male Brown University Providence, RI United States of America NaN NaN NaN

性別・国別の受賞者数

性別・国別で、1901年〜2016年のノーベル賞受賞者数を見てみる。

# Display the number of (possibly shared) Nobel Prizes handed
# out between 1901 and 2016
display(len(nobel))

# Display the number of prizes won by male and female recipients.
display(nobel["sex"].value_counts())

# Display the number of prizes won by the top 10 nationalities.
ax=nobel["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()
911
Male      836
Female     49
Name: sex, dtype: int64

女性が圧倒的に少ないことと、アメリカの独壇場であることが見て取れる。日本もアジア勢としては健闘している方だろう。

国別ノーベル文学賞受賞者数

df=nobel[nobel['category'].str.contains('Literature')]
ax=df["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

フランスがドップでアメリカが2位というのは意外だった。

国別ノーベル平和賞受賞者数

df=nobel[nobel['category'].str.contains('Peace')]
ax=df["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

米仏英という帝国主義、植民地主義、戦争主義国家が平和賞のトップ3というのは如何なものかと思わざるを得ない。

国別ノーベル経済学賞受賞者数

df=nobel[nobel['category'].str.contains('Economics')]
ax=df["birth_country"].value_counts().head(8).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

経済学賞は圧倒的経済大国のアメリカが独占するのは当然だろう。

国別ノーベル化学賞受賞者数

df=nobel[nobel['category'].str.contains('Chemistry')]
ax=df["birth_country"].value_counts().head(8).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

欧米諸国の中にアジア勢で唯一日本が入っていることが、日本人の中にも超優秀な人間がいることを証明してくれている。

国別ノーベル物理学賞受賞者数

df=nobel[nobel['category'].str.contains('Physics')]
ax=df["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

米英独に次いで日本が4位。

国別ノーベル生理学・医学賞受賞者数

df=nobel[nobel['category'].str.contains('Medicine')]
ax=df["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

とにかくアメリカが強い。20世紀がアメリカの世紀であったことを証明している。

国別自然科学系ノーベル賞受賞者数

df=nobel[~nobel['category'].isin(['Literature','Peace','Economics'])]
ax=df["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

我が国日本が米英独仏に次いで堂々の5位となっている。2017年と2018年については、自然科学系ノーベル賞受賞者数は、アメリカの独壇場であるが、2018年の生理学・医学賞を日本人の本庶佑氏が受賞している。

結論

自然科学系ノーベル賞受賞者数は、アメリカが英独仏日の合計数を上回っている。この理由については以下の数字を見れば一目瞭然だろう。

df=nobel[~nobel['category'].isin(['Literature','Peace','Economics'])]
df1=df[df.year.between(1901, 1939)]
ax=df1["birth_country"].value_counts().head(10).\
 plot(kind='barh',figsize=(15,10),fontsize=20);
ax.set_xlabel("Number of Laureates", fontsize=25);
for i in ax.patches:
    ax.text(i.get_width()+.1,i.get_y()+.31,\
      str(round((i.get_width()), 2)), fontsize=15, color='dimgrey')
ax.invert_yaxis()

1901年から第二次大戦が勃発した1939年までの自然科学系ノーベル賞受賞者数は英独が同率首位で、その後に仏米と続く。この間、日本の受賞者数はゼロである。この数字を見れば、アメリカの躍進は、ナチス・ドイツの迫害によって全ヨーロッパから優秀な頭脳が自由の国アメリカへ渡った結果であることが分かるだろう。日本も1949年の初受賞から5位に食い込んでいるのも大したものである。