У меня есть следующий DataFrame:
import pandas as pd
df = pd.DataFrame({'id_emp': [1,2,3,4,1],
'name_emp': ['x','y','z','w','x'],
'donnated_value':[1100,11000,500,300,1000],
'refound_value':[22000,22000,50000,450,90]
})
df['return_percentagem'] = 100 *
df['refound_value']/df['donnated_value']
df['classification_roi'] = ''
def comunidade(i):
if i < 50:
return 'Bad Investment'
elif i >=50 and i < 100:
return 'Median Investment'
elif i >= 100:
return 'Good Investment'
df['classification_roi'] = df['return_percentagem'].map(comunidade)
df
Узлы будут 'id_emp'.Будет связь между двумя узлами, если у них одинаковый id_emp, но с разными классификациями в столбцеification_roi или если они имеют одинаковый ранг в столбцеification_roi.Короче говоря, узлы имеют соединение, если они имеют одинаковый идентификатор или если они находятся в одной и той же классификации в столбце'ification_roi '
У меня нет большой практики с networkx, и то, что я пытаюсь, далекоот идеала:
import networkx as nx
G = nx.from_pandas_edgelist(df, 'id_emp', 'return_percentagem')
nx.draw(G, with_labels=True)
Любая помощь приветствуется.