У меня есть график, показывающий связь поддоменов с их доменами, но я хочу выбрать только те домены, которые запрашиваются более 10 раз.
B=nx.Graph()
B.add_nodes_from(data['subdomain'],bipartite=0)
B.add_nodes_from(data['domain'],bipartite=1)
B.add_edges_from([(row['subdomain'] , row['domain']) for idx,row in data.iterrows()])
print (B.degree(data['domain']).items())
и
print (B.degree(data['domain']).values())
дайте мне значения, которые мне нужны, но я не знаю, как их использовать, чтобы построить график только с теми значениями data['domain'], которые выше, чем порог (например, 10).
Остаток кода для построения графа:
pos = {node:[0, i] for i,node in enumerate(data['domain'])}
pos.update({node:[1, i] for i,node in enumerate(data['subdomain'])})
nx.draw(B, pos, with_labels=False)
nx.draw_networkx_labels(B, pos)
plt.show
ПРИМЕЧАНИЕ. Было бы проще выбрать эти значения перед построением графика, и как это возможно? Я имею в виду, чтобы выбрать значения из одного столбца фрейма данных, которые соответствуют многим значениям из другого столбца фрейма данных.
EDIT: Итак, у меня есть эти два столбца фрейма данных, и основная идея состоит в том, чтобы попытаться найти, какие доменные имена сопоставляются некоторыми поддоменами более 10 раз, а затем выбрать эти доменные имена и продолжить обработку их.
Итак, после B.add_edges_from([(row['subdomain'] , row['domain']) for idx,row in data.iterrows()]) я получаю свой график, который выглядит хаотичным из-за большого количества данных. Прежде всего, я хочу показать на своем графике только те узлы, которые имеют более 10 ребер, а затем из этого нового графика я хочу иметь возможность выбирать/сохранять эти доменные имена/узлы в новый фрейм данных. Что меня беспокоит, так это то, что я не знаю, можно ли выбирать данные из графика или нет!
gexf(ссылка) и сделайте работа с инструментом визуализации, таким как Gephi. Я столкнулся с проблемой, которая по сути похожа на вашу, и пытаюсь решить ее таким образом. Надеюсь, поможет. - person lrnzcig   schedule 24.06.2015