2016-11-07 49 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