在您将此问题标记为重复之前,请通篇阅读全文...
我有一个看起来像...的列表清单
>>> print(list_of_lists)
[[3, 3, 7, 8, 5], [9, 3, 3, 3, 3], [9, 10, 11, 3, 23, 3, 3], [20, 3, 3, 3, 3, 3, 3, 3], [20, 3, 3, 3, 3, 3, 3]]
我想将此列表列表转换为数组。但是,当我这样做时:
potential_numpy_array = numpy.array(list_of_lists)
或:
potential_numpy_array = numpy.asarray(list_of_lists)
我得到一些陌生人:
>>> print(potential_numpy_array)
[list([3, 3, 17, 18, 16]) list([20, 3, 3, 3, 3]) list([20, 5, 6, 3, 12, 3, 3]) list([9, 3, 3, 3, 3, 3, 3, 3]) list([9, 3, 3, 3, 3, 3, 3])]
我看了很多其他问题,但没有找到可以解决此问题的答案。
有人可以帮我找出混乱的根源吗?
谢谢!
答案 0 :(得分:1)
要创建一个numpy数组列表:
np_arrays = []
for array in arrays:
np_arrays.append(numpy.array(array))
答案 1 :(得分:0)
由于有其他stackOverflow用户的帮助,我意识到列表是“锯齿状的”,需要填充。锯齿状列表的示例是:
[ [1,2],
[1,3,2],
[1] ]
我需要:
[ [1,2,0],
[1,3,2],
[1,0,0] ]
由于我正在使用TensorFlow和keras,所以我可以这样做:
test_data = keras.preprocessing.sequence.pad_sequences(test_data,
value=word_index["<PAD>"],
padding='post',
maxlen=12)