2016-11-07 72 views
0

我使用Pycharm,我想将列表的列表转换为数组。 我有一个包含3992个元素的列表,每个元素包含526个元素。 所以不可能将列表的整个列表转换为numpy数组

len(list_of_list)=3297 & 
len(list_of_list[0])=len(list_of_list[1])=...=len(list_of_list[3297])=526 

,以转化我做

import numpy as np 
list_to_array=np.array(list_of_list) 

由于outuput我想获得的(3297,526)

list_of_list.shape = (3297,526) 

但是形状我不知道为什么当我运行代码时,我得到的输出为

list_of_list.shape = (3297,) 
+4

*不*实际上等长。那会导致你所看到的行为。否则,如果他们是,他们应该导致你想要的。 –

+0

也请检查'list_of_list.dtype'。如果它是'对象'即'dtype('O')',那么这是一个强有力的指标,就是发生了什么。 –

+0

作为提示,请记住,由于您的预期结果*是列表列表的预期结果,所以如果您需要帮助,您需要提供有关列表清单的更多信息。你怎么确定每个子元素都有526个项目? – brianpck

回答

0

列表“list_of_list”的子列表不是等长的,这意味着不是每个子列表都包含526个元素。

尝试下面的代码,以找出不同长度的线路:我怀疑你的子表都

for i in range(list_of_list): 
    if len(list_of_list[i]) != 526: 
     print i