summaryrefslogtreecommitdiff
path: root/networkx/convert.py
diff options
context:
space:
mode:
Diffstat (limited to 'networkx/convert.py')
-rw-r--r--networkx/convert.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/networkx/convert.py b/networkx/convert.py
index e3a0b502..da639886 100644
--- a/networkx/convert.py
+++ b/networkx/convert.py
@@ -134,11 +134,18 @@ def to_networkx_graph(data, create_using=None, multigraph_input=False):
try:
import pandas as pd
if isinstance(data, pd.DataFrame):
- try:
- return nx.from_pandas_dataframe(data, edge_attr=True, create_using=create_using)
- except:
- msg = "Input is not a correct Pandas DataFrame."
- raise nx.NetworkXError(msg)
+ if data.shape[0] == data.shape[1]:
+ try:
+ return nx.from_pandas_adjacency(data, create_using=create_using)
+ except:
+ msg = "Input is not a correct Pandas DataFrame adjacency matrix."
+ raise nx.NetworkXError(msg)
+ else:
+ try:
+ return nx.from_pandas_edgelist(data, edge_attr=True, create_using=create_using)
+ except:
+ msg = "Input is not a correct Pandas DataFrame edge-list."
+ raise nx.NetworkXError(msg)
except ImportError:
msg = 'pandas not found, skipping conversion test.'
warnings.warn(msg, ImportWarning)