我有一个列表如下:a = [[1,1],[1,1]]
。
我想将其转换为如下所示的numpy数组:a = [[1,1] [1,1]]
。
有什么方法可以实现这个目标吗?即使keras.datasets.imdb
,我也似乎无法模仿type(X_train) = numpy.ndarray
给出的X_train数据集结构。
答案 0 :(得分:3)
您需要更好地解释keras
目标。是否存在逗号表示数据结构的性质,但它实际上只是一种显示惯例。
Python列表始终使用逗号分隔符:
In [751]: alist = [[1,2],[3,4]]
In [752]: alist
Out[752]: [[1, 2], [3, 4]]
可以使用和不使用逗号显示numpy数组。
In [753]: arr=np.array(arr)
In [754]: arr
Out[754]:
array([[1, 2],
[3, 4]])
In [755]: str(arr)
Out[755]: '[[1 2]\n [3 4]]'
In [756]: print(arr)
[[1 2]
[3 4]]
为了得到逗号和空格的混合,我必须创建一个对象dtype数组:
In [757]: a=np.empty((2,), dtype=object)
In [758]: a
Out[758]: array([None, None], dtype=object)
In [759]: print(a)
[None None]
In [760]: a[0]=[1,2]
In [761]: a[1]=[3,4]
In [762]: a
Out[762]: array([[1, 2], [3, 4]], dtype=object)
In [763]: print(a)
[[1, 2] [3, 4]]
我可以想象构建这样一个数组的keras
包,但我不建议初学者使用。
来自keras imdb文档
X_train,X_test:序列列表,它是索引列表(整数)。如果nb_words参数是特定的,则最大可能的索引值为nb_words-1。如果指定了maxlen参数,则最大可能的序列长度为maxlen。
它表示列表列表,但它可能是对象dtype列表数组。听起来那些内部列表的长度各不相同,这就解释了为什么它不是二维数组。
np.array([[1,2], [3,4,5]])
制作这样的数组。