анализ социальной сети с использованием Python - PullRequest
1 голос
/ 08 марта 2019

У меня есть два CSV-файла.names.csv содержит имя человека и соответствующий ему узел, а файл nodelinks.csv содержит вес ссылки между узлами (людьми).nodelinks.csv содержит информацию о том, сколько раз человек звонит другому человеку (сколько раз представлено в столбце веса).

Я хочу создать сеть, которая разделена на подсети в соответствии с лидерами, подписчиками,маргиналы, выбросы и мосты в сети.

enter image description here

enter image description here

Я искал в Интернете, и яобнаружил библиотеку networkx в python.Поэтому я попробовал networkx, и он дал мне вывод всей сети, но он очень кластеризован, то есть узлы отображаются поверх друг друга на выходе.Я хотел бы получить информацию о сети, которую легко понять, а также я хочу найти подсети, лидеров, подписчиков, маргиналов, выбросы и мосты в этой сети.

Что я имеюдо сих пор пробовал

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
df = pd.read_csv('Nodelinks.csv')
df.columns = ['Source', 'Destination', 'Link']
df.head()
graph = nx.from_pandas_edgelist(df, source = 'Source', target = 
'Destination', edge_attr = 'Link',create_using = nx.DiGraph())
plt.figure(figsize = (10,9))
nx.draw(graph, node_size=1200, node_color='lightblue',
linewidths=0.25, font_size=10, font_weight='bold', with_labels=True, 
dpi=1000)
plt.show()

Установить библиотеку networkx используя pip или conda.Я пытался использовать pip, но он показывал мне ошибку.Я попытался установить его, используя conda, и это сработало.

Блокнот данных и jupyter загружен на мега.

Я не знаю, как мне поступить рядом сполучить то, что я хочу в качестве выхода.Кроме того, есть ли другой способ перейти к этой теме? (Желательно более простой способ, если таковой имеется)

...