Построение различных графиков networkx в цикле for

1

У меня есть большой кадр данных панд, из которого я должен извлечь несколько сетей, учитывая каждый раз подмножество данных. Эти графики будут двудольными, поэтому будут две группы узлов (два столбца в наборе данных), nodes_x и nodes_y. Я хотел бы построить графики в цикле, вместо того, чтобы делать это вручную. Как я могу присвоить рекурсивно имя каждому графику?

Часть кода для объяснения:

import pandas as pd
import networkx as nx

df=pd.read_csv('my_dataframe')

sub_list=df.nodes_y.unique()

for item in sub_list:
    sub_df=df[df['nodes_y']==item]
    sG_*item*=nx.Graph() #here I'd like to assign a name to the network 
                         #recursively based on the subset of the dataframe
    sG_*item*.add_nodes_from(sub_df['nodes_x'])
    sG_*item*.add_nodes_from(sub_df['nodes_y'])
##rest of the code

Прежде всего, является ли это возможным и целесообразным способом работы? Есть ли лучшие решения для моей проблемы?

Теги:
pandas
for-loop
networkx

1 ответ

2
Лучший ответ

Попробуйте использовать словарь вместо новых переменных:

import pandas as pd
import networkx as nx

df=pd.read_csv('my_dataframe')

sub_list=df.nodes_y.unique()
sg_dict = {}


for item in sub_list:
    sub_df=df[df['nodes_y']==item]
    sG_dict[item]=nx.Graph() #here I'd like to assign a name to the network 
                         #recursively based on the subset of the dataframe
    sG_dict[item].add_nodes_from(sub_df['nodes_x'])
    sG_dict[item].add_nodes_from(sub_df['nodes_y'])
##rest of the code
  • 0
    Легко и приятно. Спасибо :)
  • 0
    @sato ... Пожалуйста. Удачного кодирования!
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню