2016-08-22 47 views
1

比方說,我有數據幀轉換大熊貓據幀與dict其中每個值是多個列的值的列表

filename size inverse similarity 
123.txt 1 2  34 
323.txt 3 1  44 
222.txt 4 1  43 

我想創建一個字典的形式

{'123.txt': [1, 2, 34], 
'323.txt': [3, 1, 44], 
'222.txt': [4, 1, 43]} 

解決方案我發現處理的情況下創建單個值的字典使用類似的東西

df.set_index('Filename')['size'].to_dict() 
+0

爲什麼不重複通過使用dict理解的數據框?你爲什麼試圖將數據提交給'dict'? – Andrew

+0

因爲數據結構與DataFrame不同 – LetsPlayYahtzee

回答

3

設置'filename'爲指標,採取轉置,然後使用to_dictorient='list'

my_dict = df.set_index('filename').T.to_dict(orient='list') 

輸出結果:

{'323.txt': [3, 1, 44], '222.txt': [4, 1, 43], '123.txt': [1, 2, 34]} 
3

下面是用字典理解的方法:

{k: v for k, v in zip(df['filename'], df.set_index('filename').values.tolist())} 
Out: {'123.txt': [1, 2, 34], '222.txt': [4, 1, 43], '323.txt': [3, 1, 44]} 
相關問題