首页 > 解决方案 > numpy 数组中的索引

问题描述

现在我正在阅读“Grokking Deep Learning”这本书,我遇到了一篇我可以理解的文章

import sys, numpy as np
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
images, labels = (x_train[0:1000].reshape(1000,28*28) \
                                        255, y_train[0:1000])
one_hot_labels = np.zeros((len(labels),10))
for i,l in enumerate(labels):
    one_hot_labels[i][l] = 1 // this row i can't understant
labels = one_hot_labels

到达one_hot_labels中的索引l如何可以自己排列?这可能是基本的 Python,但我无法理解

标签: pythonarraysnumpyindexing

解决方案


该行one_hot_labels = np.zeros((len(labels),10))创建了一个len(labels)10零填充的矩阵。它可以与列表的列表进行比较。也就是说 one_hot_labels 是一个行列表,每一行都是一个数字列表(在这种情况下,每个数字都是 0)。这就是为什么one_hot_labels[i]他自己有一个数组。你可以尝试print(one_hot_labels)看看它是如何构造的。


推荐阅读