web-dev-qa-db-fra.com

AttributeError: le module 'networkx' n'a pas d'attribut 'from_pandas_dataframe'

J'ai networkx v. 2.1. pour que cela fonctionne avec la base de données pandas, j'ai essayé de suivre:

  • installé via pip3, cela n'a pas fonctionné. Atrribute Error généré comme dans le titre, donc désinstallé. 
  • réinstallé avec 'python3 setup.py install

Erreur de description. 

AttributeError: le module 'networkx' n'a pas d'attribut 'from_pandas_dataframe`

Les étapes pour reproduire l'erreur:

J'ai importé des données en utilisant csv. Je l'ai fait parce que je voulais seulement lire 5000 lignes du jeu de données.

x=pd.DataFrame([x for x in rawData[:5000]])

x[:10] 

0   1   2
0   228055  231908  1
1   228056  228899  1
2   228050  230029  1
3   228059  230564  1
4   228059  230548  1
5   70175   70227   1
6   89370   236886  1
7   89371   247658  1
8   89371   249558  1
9   89371   175997  1

g_data=G=nx.from_pandas_dataframe(x)

module 'networkx' has no attribute 'from_pandas_dataframe'

Je sais que je manque le from_pandas_dataframe mais je ne trouve pas le moyen de l’installer. 

[m for m in nx.__dir__() if 'pandas' in m] 

['from_pandas_adjacency',
 'to_pandas_adjacency',
 'from_pandas_edgelist',
 'to_pandas_edgelist']
11
Krishna Neupane

Un graphique simple:

import pandas as pd
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

# Build a dataframe with 4 connections
df = pd.DataFrame({'from': \['A', 'B', 'C', 'A'\], 'to': \['D', 'A', 'E', 'C'\]})

# Build your graph
G = nx.from_pandas_edgelist(df, 'from', 'to')

# Plot it
nx.draw(G, with_labels=True)
plt.show()

 enter image description here

1
William Pourmajidi