2015-04-18 196 views
0

我已經嘗試了許多不同的數據框的說明,但似乎無法通過熊貓得到這種輸出成csv格式。我想我犯了一個簡單的錯誤,但我無法弄清楚究竟是什麼。它是來自nltk分類器的輸出。這裏是我的輸出:熊貓數據框到csv與類

defaultdict(<type 'set'>, {'neg': set([3, 6, 8, 15, 21, 23, 38, 40, 44, 46, 47, 51, 52, 53, 55, 58, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115]), 'neutral': set([50, 4, 5, 93, 95, 43, 12, 45, 14, 79, 49, 37, 67, 113, 59, 60, 29, 31]), 'pos': set([0, 1, 2, 7, 9, 10, 11, 13, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 39, 41, 42, 48, 54, 56, 57, 61, 69, 83, 89])}) 

回答

0

這不是很清楚的輸出應該是什麼,因爲字典持有套,但這應該工作:

pandas.DataFrame({k: list(v) for k, v in your_output.items()}).to_csv('yourfile.csv') 
+0

我覺得像這樣的業餘愛好者,因爲我不大熊貓但我做了你所說的以及一些變化,我不斷收到此錯誤消息: –

+0

ValueError:數組必須全部相同長度 –

+0

這裏是字典的代碼: –

0

pd.DataFrame使得矩陣。如果您傳遞一個字典,它將使列號爲dict.keys(),併爲每個[i, col]元素分配第i個值dict[col][i]。這就是爲什麼你不能通過不同值的長度的字典。

在你的任務

你可以做這樣的事情:

data = pd.DataFrame(columns=dd.keys()) 
for col, indexes in dd.items(): 
    for index in indexes: 
     data.loc[index, col] = 1 

data.fillna(0) # fill other values with 0 

data = pd.DataFrame(columns=['sentiment']) 


for col, indexes in dd.items(): 
    for index in indexes: 
     data.loc[index, 'sentiment'] = col 

其中dd是NLTK分類結果