2011-12-18 9 views
0

Facebook Networkのソーシャルネットワーク分析に関するプロジェクトを行っています。私はすべての友人と私の友人の誰かがお互いに友人であること、私のネットワークの中で相互に友情を持つ必要があった。私はそれをした、私はすべての私の友人や隣接のIDを持って、今私は友人の2人が友達であることを示すadjacency matricを形成する必要があります。例: AとBは友達です、AとCは友達ですが、BとCは友達ではありません。これは、次のようになります。私はすでにpythonでのidのと隣接のリストを持っているので、私もPythonで行列を行う必要がありますFacebookでの友人関係の隣接行列の作成方法

A B C 

A 0 1 1 

B 1 0 0 

C 1 0 0 

ので、あなたが任意のアイデアや基本的なアルゴリズムを持っている場合は1のを入力する方法と、 0の私はそれを感謝します。

答えて

1

その場合は、私は問題を解決し、それだけでリストthorugh行くと、ユーザーIDが隣接リストにあるかどうかを比較するために、ループに2を必要とし、そのエントリ1にし、それ以外の場合は0

+0

溶液におめでとう!あなたができるときは、他の人があなたの成功から学ぶかもしれないようにあなたの答えを「受け入れられた」とマークしてください。乾杯〜 –

0

私はこの構造がgraphとして実装されていると考えています。たとえば、NetworkXをご覧ください。

とにかくあなたが本当に行列を必要とする場合、マトリックスは、単純にこのように、リストのリストとして実装することができます。

m = [[0, 1, 1], 
    [1, 0, 0], 
    [1, 0, 0],] 

しかし、あなたは、任意の行列演算を行うつもりならば、あなたはnumpyをチェックアウトする必要がありますとしょうかん。

+0

私は実際には既にグラフ(rGraph)を持っていますが、私とチームがデータの三者関係や他のパターンの友だちを分析する方が簡単なので、必要なのはそのような行列です。 –

+0

私は肯定的ではありませんが、彼はグラフの隣接行列の実装を意味している可能性があります。 http://en.wikipedia.org/wiki/Adjacency_matrix#Data_structures –

+0

@EnsarJusufovicあなたはnumpyパッケージと共にpython NetworkXパッケージをチェックアウトする必要があります。あなたのグラフから数え切れない隣接行列を得る関数があります:http://networkx.lanl.gov/reference/generated/networkx.convert.to_numpy_matrix.html#networkx.convert.to_numpy_matrix – Chewie

関連する問題