MNISTを数字順にソートする方法【Python】

MNISTをロードするとぐちゃぐちゃな順番なんで、色々と操作が面倒です。
そこでMNISTを数字順にソートする方法を考えてみました。

今回はこの記事の方法を用いてやります。
MNISTもnumpy配列形式なんでこの方法が適用できるんですね。

from keras.datasets import mnist
import numpy as np

#mnistをロード
(x_train, y_train), (x_test, y_test) = mnist.load_data()

#ソート用のインデックスを取得
sorted_index = np.argsort(y_train)

#ソートする
x_train = x_train[sorted_index]
y_train = y_train[sorted_index]

#ソートされているか確認する
import matplotlib.pyplot as plt
for i in range(10):
  print(y_train[i])
  plt.imshow(x_train[i],cmap='gray')
  plt.show()

実行してみると、ソートされていそうな結果が表示されます。
0以外の数字も確認したければアクセスするインデックスを変えてみてください。

コメント