2017-03-17 85 views
1

我有一個列表清單列表。最外面的列表長度爲20(不同的類別)。中間列表是可變長度的(時間戳列表)。內部列表的長度爲5(分割每個時間戳)。例如:熊貓數據框列表清單列表

sTimestamps[0][:5][:] = 

[['Tue', 'Feb', '7', '10:06:30', '2017'], 
['Tue', 'Feb', '7', '10:07:06', '2017'], 
['Tue', 'Feb', '7', '10:07:40', '2017'], 
['Tue', 'Feb', '7', '10:12:36', '2017'], 
['Tue', 'Feb', '7', '10:13:24', '2017']] 

我也有一個列表的字符串名爲包含類別名稱,其中每個指標對應的最外層列表的20個指數相同的指數大小爲2 categories

如何將其轉換爲熊貓數據框,其中列是時間戳的5個組件,再加上第6個額外的列來指定類別名稱?

我可以做一個雙嵌套列表,但這個三嵌套列表給我很多困難。

+0

什麼三個嵌套列表?向我們展示代碼,詞語不明確。 –

回答

3
sTimeStamps = [ 
    [['Tue', 'Feb', '7', '10:06:30', '2017'], 
    ['Tue', 'Feb', '7', '10:07:06', '2017'], 
    ['Tue', 'Feb', '7', '10:07:40', '2017'], 
    ['Tue', 'Feb', '7', '10:12:36', '2017'], 
    ['Tue', 'Feb', '7', '10:13:24', '2017']], 
    [['Tue', 'Feb', '7', '10:06:30', '2017'], 
    ['Tue', 'Feb', '7', '10:07:06', '2017'], 
    ['Tue', 'Feb', '7', '10:07:40', '2017']], 
    ] 

categories = ['cat%s' %i for i in range(20)] 

pd.concat([pd.DataFrame(d) for d in sTimeStamps], keys=categories) 

      0 1 2   3  4 
cat0 0 Tue Feb 7 10:06:30 2017 
    1 Tue Feb 7 10:07:06 2017 
    2 Tue Feb 7 10:07:40 2017 
    3 Tue Feb 7 10:12:36 2017 
    4 Tue Feb 7 10:13:24 2017 
cat1 0 Tue Feb 7 10:06:30 2017 
    1 Tue Feb 7 10:07:06 2017 
    2 Tue Feb 7 10:07:40 2017