[解決済み] ノード属性の保存とアクセス python networkx
質問
Pythonで作成したノードのネットワークがあります。
networkx
ノードに情報を保存し、ノードラベル(ノードの名前)と情報が保存されているフィールド(ノードの属性のようなもの)に基づいて、後で情報にアクセスできるようにしたいのです。
xyz
はノードです。
の生年月日のような文字列を持つフィールドを2つまたは3つ保存したいのです。
xyz
dob=1185
の出生地は
xyz
pob=usa
の生年月日と
xyz
dayob=monday
.
を使用できることは知っています。
G.add_node
には属性辞書のフィールドがありますが、特定のフィールドにアクセスすることができません。
を比較したい。
xyz
は,同じ情報を共有するネットワーク内の他のノードと交差する。
xyz
とノード
abc
生年月日、出生地、生年月日をもとにした
例:ifノード
xyz
と
abc
は、それぞれの
dob
の場合、その
pob
とその
dayob
s
解決方法は?
おっしゃるとおり、グラフにノードを追加する際に、属性を追加すればよいだけです
G.add_node('abc', dob=1185, pob='usa', dayob='monday')
または辞書として
G.add_node('abc', {'dob': 1185, 'pob': 'usa', 'dayob': 'monday'})
属性にアクセスするには、他の辞書と同じようにアクセスするだけです。
G.node['abc']['dob'] # 1185
G.node['abc']['pob'] # usa
G.node['abc']['dayob'] # monday
接続されているノードの属性を見たいということですね。ここでは、それを実現するための小さな例を紹介します。
for n1, n2 in G.edges_iter():
print G.node[n1]['dob'], G.node[n2]['dob']
print G.node[n1]['pob'], G.node[n2]['pob']
# Etc.
networkx 2.0 では、G.edges_iter() は G.edges() に置き換わりました。これはノードにも適用されます。我々は
data=True
で属性にアクセスできます。コードはこれで
for n1, n2 in list(G.edges(data=True)):
print G.node[n1]['dob'], G.node[n2]['dob']
print G.node[n1]['pob'], G.node[n2]['pob']
# Etc.
NOTE
で
ネットワークx 2.4
,
G.node[]
に置き換わっています。
G.nodes[]
.
関連
-
Pythonによるjieba分割ライブラリ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み] XMLを解析して、特定のノード属性のインスタンスをカウントするには?
-
[解決済み] Pythonにおけるincrementとdecrement演算子の挙動
-
[解決済み] HTMLのid属性とname属性の違い
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].