2017-05-23 13 views
-1

私はこのような辞書があります。Pythonで辞書を行列に変換するには?

{デバイス1:(news1、news2、...)、デバイス2:(ニュース2、ニュース4、...)...}

変換する方法をそれらをPythonで2次元の0-1行列に変換しますか?このようになります。

  news1 news2 news3 news4 
device1 1  1  0  0 
device2 0  1  0  1 
device3 1  0  0  1 
+0

あなただけ与えられたフォーマットで出力を印刷するか、リストで(リストのか、おそらくリストを)したいですか? 2-Dマトリックスに変換すれば、どういう意味でしょうか? – yeniv

+0

@yenivさて、コサインの類似性の計算など、後でいくつかの行列演算を行うことができるように、バイナリ行列に変換したい –

答えて

1

ここnumpyパッケージを使用して行列(又は2次元アレイ)を作成するいくつかのコードです。辞書は入力された順序でキー/値を格納する必要はないため、名前のリストを使用する必要があることに注意してください。

import numpy as np 

dataDict = {'device1':(1,1,0,1), 'device2':(0,1,0,1), 'device3':(1,0,0,1)} 
orderedNames = ['device1','device2','device3'] 

dataMatrix = np.array([dataDict[i] for i in orderedNames]) 

print dataMatrix 

出力は次のようになります。

[[1 1 0 1] 
[0 1 0 1] 
[1 0 0 1]] 
関連する問題