山手線の駅間の所要時間の例
品川 | 目黒 | 渋谷 | 原宿 | 新宿 | 高田馬場 | 池袋 | 巣鴨 | 田端 | 日暮里 | 上野 | 秋葉原 | 東京 | 新橋 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
品川 | 0 | 7 | 12 | 14 | 18 | 22 | 25 | 28 | 24 | 21 | 17 | 14 | 10 | 7 |
目黒 | 7 | 0 | 5 | 7 | 11 | 15 | 18 | 23 | 31 | 28 | 24 | 21 | 17 | 14 |
渋谷 | 12 | 5 | 0 | 2 | 6 | 10 | 13 | 18 | 22 | 25 | 29 | 26 | 22 | 19 |
原宿 | 14 | 7 | 2 | 0 | 4 | 8 | 11 | 16 | 20 | 23 | 27 | 28 | 24 | 21 |
新宿 | 18 | 11 | 6 | 4 | 0 | 4 | 7 | 12 | 16 | 19 | 23 | 26 | 28 | 25 |
高田馬場 | 22 | 15 | 10 | 8 | 4 | 0 | 3 | 8 | 12 | 15 | 19 | 22 | 26 | 29 |
池袋 | 25 | 18 | 13 | 11 | 7 | 3 | 0 | 5 | 9 | 12 | 16 | 19 | 23 | 26 |
巣鴨 | 28 | 23 | 18 | 16 | 12 | 8 | 5 | 0 | 4 | 7 | 11 | 14 | 18 | 21 |
田端 | 24 | 31 | 22 | 20 | 16 | 12 | 9 | 4 | 0 | 3 | 7 | 10 | 14 | 17 |
日暮里 | 21 | 28 | 25 | 23 | 19 | 15 | 12 | 7 | 3 | 0 | 4 | 7 | 11 | 14 |
上野 | 17 | 24 | 29 | 27 | 23 | 19 | 16 | 11 | 7 | 4 | 0 | 3 | 7 | 10 |
秋葉原 | 14 | 21 | 26 | 28 | 26 | 22 | 19 | 14 | 10 | 7 | 3 | 0 | 4 | 7 |
東京 | 10 | 17 | 22 | 24 | 28 | 26 | 23 | 18 | 14 | 11 | 7 | 4 | 0 | 3 |
新橋 | 7 | 14 | 19 | 21 | 25 | 29 | 26 | 21 | 17 | 14 | 10 | 7 | 3 | 0 |
多次元尺度法のPython3サンプルコード
# -*- coding:utf-8 -*-
import pandas
import sklearn.manifold as mfd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
if __name__ == '__main__':
csv_filename = './yamateutf8.csv'
png_filename = './yamateutf8.png'
#data = pandas.read_csv(csv_filename, header=1)
#data = pandas.read_csv(csv_filename)
data = pandas.read_csv(csv_filename, usecols=range(1,15))
print(data.T)
D = data.as_matrix()
mds = mfd.MDS(n_components=2, n_init=1, max_iter=100)
X = mds.fit_transform(D)
plt.scatter(X[:,0], X[:,1])
for no,text in enumerate(list(data.columns)):
plt.annotate(text, (X[no,0], X[no,1]))
plt.savefig(png_filename)