将列表转换为np.arrays效率

时间:2017-05-13 12:49:49

标签: python arrays numpy

我在我的python代码中加载一个包含两个矩阵的数据集。这些矩阵的名称是train_dataset_face和train_dataset_audio,我读它们的方式是np.arrays的列表。最后我将它们转换为np.arrays的np.arrays。最初我的调试期间的矩阵看起来像这样:

enter image description here

enter image description here

然后我使用以下代码将它们转换为np.arrays:

 train_dataset_face = np.array(train_dataset_face)
 train_dataset_audio = np.array(train_dataset_audio)

最后我的矩阵看起来像:

enter image description here

对于train_dataset_face的一些奇怪的原因,我在我的数组的每个向量之前得到了这个数组指示,而在train_dataset_audio的情况下,我没有它。是否可以将其删除?当我尝试将几个算法应用于train_dataset_face时,这个“数组”指示会导致我出现问题。知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:1)

如果列表中的所有数组具有相同的形状,则只能创建单个数组,train_dataset_audiotrain_dataset_face不适用。

>>> a = [numpy.array([1,2,3,4]), numpy.array([1,2,3,4])]
>>> numpy.array(a)
array([[1, 2, 3, 4],
       [1, 2, 3, 4]])
>>> b = [numpy.array([1,2,3]), numpy.array([1,2,3,4])]
>>> numpy.array(b)
array([array([1, 2, 3]), array([1, 2, 3, 4])], dtype=object)