pandasのread_csv関数を使う。「Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版」の図5.1に掲載されているデータで試してみる。そのデータは以下のとおり。
15.43 170.91
23.01 160.68
5.00 129.00
12.56 159.70
8.67 155.46
7.31 140.56
9.66 153.65
13.64 159.43
14.92 164.70
18.47 169.65
15.48 160.71
22.13 173.29
10.11 159.31
26.95 171.52
5.68 138.96
21.76 165.87
これをファイルch5_data.txtに保存しておく。
>>> import pandas as pd
>>> df = pd.read_csv('ch5_data.txt', header = None, sep = '\s+')
>>> df
0 1
0 15.43 170.91
1 23.01 160.68
2 5.00 129.00
3 12.56 159.70
4 8.67 155.46
5 7.31 140.56
6 9.66 153.65
7 13.64 159.43
8 14.92 164.70
9 18.47 169.65
10 15.48 160.71
11 22.13 173.29
12 10.11 159.31
13 26.95 171.52
14 5.68 138.96
15 21.76 165.87
読み込まれたデータはpandasのDataFrame型(データフレーム)。これをNumPyのndarray型(行列)に変換するにはto_numpy関数を使う。
>>> d = df.to_numpy()
>>> d
array([[ 15.43, 170.91],
[ 23.01, 160.68],
[ 5. , 129. ],
[ 12.56, 159.7 ],
[ 8.67, 155.46],
[ 7.31, 140.56],
[ 9.66, 153.65],
[ 13.64, 159.43],
[ 14.92, 164.7 ],
[ 18.47, 169.65],
[ 15.48, 160.71],
[ 22.13, 173.29],
[ 10.11, 159.31],
[ 26.95, 171.52],
[ 5.68, 138.96],
[ 21.76, 165.87]])
NumPyの関数を試してみる。以下は1列目と2列目の最大値をそれぞれ抜き出した例。
>>> np.max(d[:, 0])
26.95
>>> np.max(d[:, 1])
173.29