質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

7432閲覧

networkx でラベル名を変更したい

hoshi1996

総合スコア53

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/08/28 10:30

python

1import networkx as nx 2 3G = nx.barabasi_albert_graph(10, 1) 4print(G.degree()) 5#=>DegreeView({0: 3, 1: 5, 2: 1, 3: 2, 4: 2, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1})

networkxの関数を使いグラフを作成しました。

ここでこの関数のラベル名を変更したいです。

理想は下のようになりたいです。

python

1G.degree() 2#=>DegreeView({a: 3, b: 5, c: 1, d: 2, e: 2, f: 1, g: 1, h: 1, i: 1, j: 1})

どのようにやればいいか見当がつきません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

degree() が返す関数はキーがノード、値が次数の辞書となっているので、ノードを 0, 1, ... から "a", "b", ... に変更したい場合は、nx.relabel_nodes でノード名を変更する必要があります。

python

1import random 2import numpy as np 3import networkx as nx 4import string 5 6random.seed(42) # 乱数シード固定 7 8G = nx.barabasi_albert_graph(10, 1) 9print(G.degree()) 10# [(0, 5), (1, 1), (2, 4), (3, 2), (4, 1), (5, 1), (6, 1), (7, 1), (8, 1), (9, 1)] 11 12# ノードの名前を変更する。 13mapping = {k: v for k, v in zip(G.nodes, string.ascii_lowercase)} 14G = nx.relabel_nodes(G, mapping) 15print(G.degree()) 16# [('a', 5), ('b', 1), ('c', 4), ('d', 2), ('e', 1), ('f', 1), ('g', 1), ('h', 1), ('i', 1), ('j', 1)]

参考文献

投稿2019/08/28 10:48

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi1996

2019/08/28 12:02

よくわかりました ありがとうございます。
guest

0

よくわかりました。ありがとうございます。

投稿2019/08/28 12:01

hoshi1996

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問