本書で配布するデータ
以下では,各データの内容,分析の例,読み込み方を説明する.各節のコードを実行すると,データの先頭の 5 行が表示される.
アヤメのデータ
3 種類のアヤメについて,がく片と花弁の長さ・幅を測定したデータである.1 行が一つの花に対応し,各種類 50 件ずつ,合計 150 件のデータがある.
がく片や花弁の長さ・幅について,種類別に平均値や中央値などの代表値を比較できる.また,がく片や花弁の大きさから種類を予測する分類の練習にも使える.
各列の内容を 表 A.2 に示す.
import pandas as pd
iris = pd.read_csv("iris.csv" )
iris.head()
0
5.1
3.5
1.4
0.2
setosa
1
4.9
3.0
1.4
0.2
setosa
2
4.7
3.2
1.3
0.2
setosa
3
4.6
3.1
1.5
0.2
setosa
4
5.0
3.6
1.4
0.2
setosa
出典:scikit-learn,Iris データセット .load_iris() で読み込めるデータを CSV 形式に変換し,種類を表す番号を種類名に置き換えた.
ペンギンのデータ
南極のパーマー諸島で 2007〜2009 年に調査された 3 種類・計 344 羽のペンギンについて,体の大きさなどを記録したデータである.1 行が 1 羽のペンギンに対応する.
種類別の体重の代表値や散布度の比較に利用できる.読み込みから分布や相関の分析までの具体例は,チャプター 11 で扱う.また,ひれの長さを説明変数,体重を目的変数とする回帰分析にも使える.
各列の内容を 表 A.3 に示す.
種類ごとの羽数は,Adelie が 152 羽,Gentoo が 124 羽,Chinstrap が 68 羽である.欠損値は NA と表記されており,pd.read_csv() で読み込むと欠損値として扱われる.
penguins = pd.read_csv("penguins.csv" )
penguins.head()
0
Adelie
Torgersen
39.1
18.7
181.0
3750.0
male
2007
1
Adelie
Torgersen
39.5
17.4
186.0
3800.0
female
2007
2
Adelie
Torgersen
40.3
18.0
195.0
3250.0
female
2007
3
Adelie
Torgersen
NaN
NaN
NaN
NaN
NaN
2007
4
Adelie
Torgersen
36.7
19.3
193.0
3450.0
female
2007
出典:Horst, Hill and Gorman (2020),palmerpenguins (CC0).元のデータは Gorman, Williams and Fraser (2014) による.
さくらの開花日と満開日
気象庁が 1953〜2025 年に全国 102 地点で観測したさくらの開花日と満開日のデータである.1 行が一つの地点の 1 年分の記録に対応する.
地点別の開花時期の比較や,開花日の年次推移の可視化に利用できる.東京の開花日と 3 月の平均気温を組み合わせた分析は,チャプター 10 で扱う.
各列の内容を 表 A.4 に示す.
sakura = pd.read_csv("sakura.csv" )
sakura.head()
0
47401
稚内
1953
エゾヤマザクラ
1953-05-21
1953-05-30
1
47401
稚内
1954
エゾヤマザクラ
1954-05-17
1954-05-27
2
47401
稚内
1955
エゾヤマザクラ
1955-05-17
1955-05-23
3
47401
稚内
1956
エゾヤマザクラ
1956-05-12
1956-05-14
4
47401
稚内
1957
エゾヤマザクラ
1957-05-18
1957-05-22
開花日は標本木で 5〜6 輪以上の花が開いた最初の日,満開日は標本木で約 80% 以上の花が咲いた最初の日である.
多くの地点ではソメイヨシノを観測しているが,北海道や奄美・沖縄の一部の地点では,エゾヤマザクラ,チシマザクラ,ヒカンザクラを観測している.
ヒカンザクラが前年の 12 月に開花した場合も,翌年の行に記録されている.例えば,石垣島の 1968 年の行には,開花日として 1967-12-19 が記録されている.
開花日と満開日のどちらも観測されなかった年の行は含まれていない.一方だけが観測された年は,もう一方が欠損値となっている.2021 年以降のデータがあるのは 58 地点である.
出典:気象庁,生物季節観測累年値 を加工して作成.地点ごと・年ごとに 1 行にまとめ,統計に使用しない値は除いた.
教育用標準データセット(SSDSE)
SSDSE は,独立行政法人統計センターがデータサイエンス教育のために作成したデータである.人口,経済,教育,医療などの公的統計を,地域別の表にまとめている.1 行が表す地域や年などの単位は,ファイルによって異なる.
各統計項目の代表値や散布度の計算,項目間の相関分析や回帰分析に利用できる.表 A.5 の 6 種類のファイルを配布する. SSDSE-A の人口を使った分析例は,チャプター 9 で扱う.
SSDSE-D の「× 3」は総数・男・女の 3 行を,SSDSE-F の「× 13」は各月および年間の値に対応する 13 行を表す.
SSDSE-D には,野球,サッカー,テニスなどのスポーツについて,10 歳以上の人のうち過去 1 年間にそのスポーツをした人の割合(行動者率,%)も収録されている.例えば,野球の行動者率が都道府県や男女によってどう違うかを調べられる.
いずれのファイルも,文字コードは cp932 である(セクション 4.10.2 ).また,先頭の数行に項目コードなどが入っている.項目名が書かれている行の番号(0 から数える)を,pd.read_csv() の header 引数に指定する.表 A.5 の header 列に,指定する値を示している.例えば,SSDSE-A は次のように読み込める.
ssdse_a = pd.read_csv("SSDSE-A-2026.csv" , encoding= "cp932" , header= 2 )
ssdse_a.head()
0
R01100
北海道
札幌市
1973395
918682
1054713
1933094
897727
1035367
215366
...
10370
7354
348
172
1433
1183
6977
2115
5561
297
1
R01202
北海道
函館市
251084
113965
137119
248208
112718
135490
23560
...
2163
1256
41
26
197
121
825
183
696
25
2
R01203
北海道
小樽市
111299
50136
61163
109971
49441
60530
9169
...
1097
616
17
11
76
74
290
102
331
21
3
R01204
北海道
旭川市
329306
152108
177198
325287
150318
174969
34691
...
2409
1503
67
33
225
170
1339
254
853
55
4
R01205
北海道
室蘭市
82383
40390
41993
81658
39960
41698
7769
...
621
447
13
6
50
39
260
53
201
10
5 rows × 128 columns
各項目の単位や調査年については,統計センターの SSDSE のページ にある収録項目の一覧を参照すること.
出典:独立行政法人統計センター,教育用標準データセット(SSDSE) .2026 年 10 月 7 日に取得したファイルを,そのまま配布している.
ポケモン GO の進化データ
スマートフォン向けのゲーム「ポケモン GO」で 75 匹のポケモンを進化させ,進化の前後の値を記録したデータである.1 行が 1 匹のポケモンの進化前後の記録に対応する.CP(Combat Power)は,バトルでの強さの目安となる値である.
進化前の CP を説明変数,進化後の CP を目的変数とする単回帰分析に利用できる.
はじめは,表 A.6 の列に注目するとよい.
pokemon_go = pd.read_csv("pokemon_go.csv" )
pokemon_go.head()
0
Pidgey1
Pidgey
384
56
2.31
0.34
2500
2
Tackle
Normal
...
1.24
2500
2
Steel Wing
Steel
15
Air Cutter
Flying
30
NaN
1
Pidgey2
Pidgey
366
54
1.67
0.29
2500
2
Quick Attack
Normal
...
1.05
2500
2
Wing Attack
Flying
9
Air Cutter
Flying
30
NaN
2
Pidgey3
Pidgey
353
55
1.94
0.30
3000
3
Quick Attack
Normal
...
1.11
3000
3
Wing Attack
Flying
9
Air Cutter
Flying
30
NaN
3
Pidgey4
Pidgey
338
51
1.73
0.31
3000
3
Tackle
Normal
...
1.12
3000
3
Steel Wing
Steel
15
Air Cutter
Flying
30
NaN
4
Pidgey5
Pidgey
242
45
1.44
0.27
1900
2
Quick Attack
Normal
...
0.98
1900
2
Wing Attack
Flying
9
Twister
Dragon
25
NaN
5 rows × 27 columns
出典:OpenIntro,Pokémon Go evolutions .OpenIntro が 2016 年に収集したデータである.
MLB のチーム成績
北米のプロ野球リーグであるメジャーリーグベースボール(MLB)について,各チームのシーズンごとの成績をまとめたデータである.1 行が一つのチームの 1 シーズンの成績に対応し,30 チームになった 1998 年から 2025 年までの合計 840 行がある.
好きなチームの勝利数の推移を調べたり,本塁打や盗塁の数が年ごとにどう変わってきたかをグラフで確かめたりできる.また,得点と失点の差(得失点差)を説明変数,勝利数を目的変数とする回帰分析にも使える.
各列の内容を 表 A.7 に示す.hits から stolen_bases までは,そのチームの打者の記録である.
mlb = pd.read_csv("mlb_teams.csv" )
mlb.head()
0
1998
AL
C
CHW
Chicago White Sox
163
80
82
861
931
1516
198
551
916
127
5.22
1391146
1
1998
AL
C
CLE
Cleveland Indians
162
89
73
850
779
1530
198
630
1061
143
4.44
3467299
2
1998
AL
C
DET
Detroit Tigers
162
65
97
722
863
1494
165
455
1070
122
4.93
1409391
3
1998
AL
C
KCR
Kansas City Royals
161
72
89
714
899
1459
134
475
984
135
5.15
1494875
4
1998
AL
C
MIN
Minnesota Twins
162
70
92
734
818
1499
115
506
915
112
4.75
1165976
2020 年は,新型コロナウイルス感染症の影響で試合数が 60 試合(2 チームは 58 試合)に減り,観客を入れずに行われた.そのため,2020 年の attendance は 0 である.2021 年も入場者数が制限されたので,attendance が少ない.
引き分けの試合があった年は,games が wins と losses の和より大きい.勝率は wins / (wins + losses) で求める.
チーム名が変わった球団がある.例えば,franchise が WSN の球団は,2004 年まではモントリオール・エクスポズ,2005 年からはワシントン・ナショナルズである.同じ球団の推移を調べるときは,team ではなく franchise を使うとよい.
出典:SABR,Lahman Baseball Database .2026 年 10 月 17 日に取得した 1871〜2025 年版の Teams.csv から,1998 年以降の行と一部の列を取り出し,列名を変えて作成した.元のデータは © 1996-2025 SABR(Sean Lahman の寄贈による)であり,CC BY-SA 3.0 で公開されている.このファイルも CC BY-SA 3.0 で配布する.選手ごとの打撃や投手の成績も,出典のページからダウンロードできる.
タイタニック号の乗客のデータ
1912 年に沈没した客船タイタニック号の乗客について,客室の等級,性別,年齢,生存の有無などを記録したデータである.1 行が 1 人の乗客に対応し,合計 1,309 人のデータがある.乗員は含まれていない.
性別や客室の等級ごとに,生存率を比較できる.また,年齢や運賃などから生存の有無を予測する分類の練習にも使える.
各列の内容を 表 A.8 に示す.
生存者は 500 人,死亡者は 809 人である.欠損値は空欄になっており,pd.read_csv() で読み込むと欠損値として扱われる.例えば,263 人の age が欠損値である.
titanic = pd.read_csv("titanic.csv" )
titanic.head()
0
1
1
Allen, Miss. Elisabeth Walton
female
29.00
0
0
24160
211.3375
B5
S
2
NaN
St Louis, MO
1
1
1
Allison, Master. Hudson Trevor
male
0.92
1
2
113781
151.5500
C22 C26
S
11
NaN
Montreal, PQ / Chesterville, ON
2
1
0
Allison, Miss. Helen Loraine
female
2.00
1
2
113781
151.5500
C22 C26
S
NaN
NaN
Montreal, PQ / Chesterville, ON
3
1
0
Allison, Mr. Hudson Joshua Creighton
male
30.00
1
2
113781
151.5500
C22 C26
S
NaN
135.0
Montreal, PQ / Chesterville, ON
4
1
0
Allison, Mrs. Hudson J C (Bessie Waldo Daniels)
female
25.00
1
2
113781
151.5500
C22 C26
S
NaN
NaN
Montreal, PQ / Chesterville, ON
boat が記録されている 486 人のうち 477 人が生存し,body が記録されている 121 人は全員が死亡している.この 2 列から生存の有無がほぼ分かってしまうので,生存の有無を予測するときは説明変数に使わないこと.
1 歳未満の乳児の年齢は,0.92 のような小数で表されている.また,推定された年齢は,30.5 のように小数点以下が 5 になっている.
出典:Vanderbilt 大学生物統計学科,titanic3 .Thomas Cason が Encyclopedia Titanica をもとに作成したデータである.2026 年 10 月 17 日に取得したファイルを,名前を titanic.csv に変えて配布している.提供元が求める表記は「Data obtained from http://hbiostat.org/data courtesy of the Vanderbilt University Department of Biostatistics.」である.
ワインのデータ
ワインの成分と種類を記録したデータである.1 行が一つのワインの試料に対応し,イタリアの同じ地域で造られた 3 種類のワイン,合計 178 件のデータがある.
種類別に,成分の代表値を比較できる.また,アルコールやマグネシウムなどの測定値から,ワインの種類を予測する分類の練習にも使える.
各列の内容を 表 A.9 に示す.各成分の単位は,出典に示されていない.
class の 0,1,2 が 3 種類のワインを表し,それぞれ 59 件,71 件,48 件である.
wine = pd.read_csv("wine.csv" )
wine.head()
0
14.23
1.71
2.43
15.6
127
2.80
3.06
0.28
2.29
5.64
1.04
3.92
1065
0
1
13.20
1.78
2.14
11.2
100
2.65
2.76
0.26
1.28
4.38
1.05
3.40
1050
0
2
13.16
2.36
2.67
18.6
101
2.80
3.24
0.30
2.81
5.68
1.03
3.17
1185
0
3
14.37
1.95
2.50
16.8
113
3.85
3.49
0.24
2.18
7.80
0.86
3.45
1480
0
4
13.24
2.59
2.87
21.0
118
2.80
2.69
0.39
1.82
4.32
1.04
2.93
735
0
出典:scikit-learn,Wine recognition dataset .load_wine() で読み込めるデータを CSV 形式に変換した.
乳がんの診断データ
乳房のしこりから採取した細胞の画像をもとに,細胞核の大きさや形などを数値化したデータである.1 行に一つの検体の情報がまとめられており,合計 569 件のデータがある.
悪性と良性で,細胞核の大きさなどの代表値を比較できる.また,これらの特徴から,しこりが悪性か良性かを予測する分類の練習にも使える.
画像に写っている細胞核ごとに,半径や面積などの 10 種類の特徴を測っている.各特徴について,画像ごとに平均,標準誤差,大きい方から 3 個の値の平均を求め,30 列にまとめている.各列の内容を 表 A.10 に示す.
最後の列の diagnosis は,診断結果(malignant:悪性,benign:良性)を表す.悪性は 212 件,良性は 357 件である.
cancer = pd.read_csv("breast_cancer.csv" )
cancer.head()
0
17.99
10.38
122.80
1001.0
0.11840
0.27760
0.3001
0.14710
0.2419
0.07871
...
17.33
184.60
2019.0
0.1622
0.6656
0.7119
0.2654
0.4601
0.11890
malignant
1
20.57
17.77
132.90
1326.0
0.08474
0.07864
0.0869
0.07017
0.1812
0.05667
...
23.41
158.80
1956.0
0.1238
0.1866
0.2416
0.1860
0.2750
0.08902
malignant
2
19.69
21.25
130.00
1203.0
0.10960
0.15990
0.1974
0.12790
0.2069
0.05999
...
25.53
152.50
1709.0
0.1444
0.4245
0.4504
0.2430
0.3613
0.08758
malignant
3
11.42
20.38
77.58
386.1
0.14250
0.28390
0.2414
0.10520
0.2597
0.09744
...
26.50
98.87
567.7
0.2098
0.8663
0.6869
0.2575
0.6638
0.17300
malignant
4
20.29
14.34
135.10
1297.0
0.10030
0.13280
0.1980
0.10430
0.1809
0.05883
...
16.67
152.20
1575.0
0.1374
0.2050
0.4000
0.1625
0.2364
0.07678
malignant
5 rows × 31 columns
出典:scikit-learn,Breast cancer Wisconsin (diagnostic) dataset .load_breast_cancer() で読み込めるデータを CSV 形式に変換し,診断結果を表す番号を malignant と benign に置き換えた.
カリフォルニアの住宅価格のデータ
1990 年の米国の国勢調査をもとに,カリフォルニア州の地域ごとに,所得や住宅の築年数などをまとめたデータである.1 行が一つの地域に対応し,合計 20,640 件のデータがある.地域は国勢調査の集計の単位であり,多くは人口 600〜3,000 人程度である.
地域の特徴から,住宅価格の中央値を予測する回帰分析の練習に使える.また,経度を横軸,緯度を縦軸にとって散布図を描くと,各地域の位置を地図のように表示できる.
各列の内容を 表 A.11 に示す.
housing = pd.read_csv("california_housing.csv" )
housing.head()
0
8.3252
41
6.984127
1.023810
322
2.555556
37.88
-122.23
4.526
1
8.3014
21
6.238137
0.971880
2401
2.109842
37.86
-122.22
3.585
2
7.2574
52
8.288136
1.073446
496
2.802260
37.85
-122.24
3.521
3
5.6431
52
5.817352
1.073059
558
2.547945
37.85
-122.25
3.413
4
3.8462
52
6.281853
1.081081
565
2.181467
37.85
-122.25
3.422
MedHouseVal の最大値は 5.00001 であり,965 件の地域がちょうどこの値になっている.所得と住宅価格の散布図を描くと,この値のところに点が横一列に並ぶ.
AveRooms と AveBedrms は 1 世帯あたりの値なので,世帯が少なく空き家の多い別荘地などでは,非常に大きな値になることがある.
出典:scikit-learn,California Housing dataset .fetch_california_housing() で読み込めるデータを CSV 形式に変換した.