2017-04-18 99 views
2

我想寫一個列表的列表將用大熊貓 列表中的Excel工作表的樣子:處理色譜柱據幀的變量數 - 的Python

List_of Lists = [ [1,2,3,4], 
        [5,6,7,8], 
        [9,10,11,12], 
        ........, 
       ] 

這些列表的主列表內的數字可能會達到1000. 我也想標記他們像colums1,colomns2,直到colums100爲 實例。在同一張紙上。任何熟悉熊貓的人都能幫助我嗎? 因爲這可能對一些人來說真的很容易?

+0

每個子列表的長度是否相同?你想把子列表當作列嗎? – sgrg

回答

8

我相信你可以將這個列表傳遞給pd.DataFrame(),你只需要獲取不存在的值的NaN。

例如:

List_of_Lists = [[1,2,3,4], 
       [5,6,7], 
       [9,10], 
       [11]] 
df = pd.DataFrame(List_of_Lists) 
print(df) 
    0  1 2 3 
0 1 2.0 3.0 4.0 
1 5 6.0 7.0 NaN 
2 9 10.0 NaN NaN 
3 11 NaN NaN NaN 

然後拿到命名你只想使用方式pandas.DataFrame.add_prefix

df = df.add_prefix('Column') 
print(df) 
    Column0 Column1 Column2 Column3 
0  1  2.0  3.0  4.0 
1  5  6.0  7.0  NaN 
2  9  10.0  NaN  NaN 
3  11  NaN  NaN  NaN 

現在我想有,你也可以想每個列表成爲可能柱。在這種情況下,你需要轉置你的List_of_Lists

from itertools import zip_longest 

df = pd.DataFrame(list(map(list, zip_longest(*List_of_Lists)))) 
print(df) 
    0 1  2  3 
0 1 5.0 9.0 11.0 
1 2 6.0 10.0 NaN 
2 3 7.0 NaN NaN 
3 4 NaN NaN NaN 
+2

耶'add_prefix'! – piRSquared

+1

@piRSquared在這一點上你的功勞就在你身上。 – Grr

+0

這是非常整潔,我甚至沒有意識到這是一個功能。比找到最長的子目錄簡單得多 – Newyork167