質問

Python の Networkx ライブラリを使用して、さまざまな人々の間の関係ネットワークを表す無向グラフを作成しました。私のコードのスニペットは以下のとおりです。

import networkx as nx
def creategraph(filepath):
    G=nx.Graph()
    #All the various nodes and edges are added in this stretch of code.
    return G

私の理解では、各ノードは基本的に辞書です。これが私にもたらす問題は、別の種類のランダム ウォーク アルゴリズムを実行したいということです。Networkx ライブラリの標準関数の 1 つを使用するようにと飛びつく前に、これはカスタム アルゴリズムであることを指摘しておきたいと思います。creategraph 関数を実行すると、G オブジェクトが返され、別のオブジェクト (X とします) に格納されたとします。「ボブ」と呼ばれるノードから始めたい。ボブはアリスとジョーとつながっています。ここで、ランダムにアリスまたはボブのいずれかを指すように Y を再割り当てしたいと思います (扱っているデータでは、特定のノードから何百ものエッジが出る可能性があります)。これを行うにはどうすればよいですか?また、特定のノードの dict 内の Unicode エントリをどのように処理すればよいですか (アリスとジョーが以下にどのようにリストされているかなど)。

X = creategraph("filename")
Y=X['Bob']
print Y
>> {u'Alice': {}, u'Joe': {}}
役に立ちましたか?

解決

選択 の機能 ランダム モジュールは選択プロセスに役立つ可能性があります。Unicode 文字は Python のデフォルトの ASCII 文字セットに変換できない場合があるため、どこかに書き出そうとしない限り、Unicode と文字列の区別について心配する必要はありません。

random.choice の使用方法は次のようになります。

Y = Y[random.choice(Y.keys())]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top