简体   繁体   中英

AttributeError: module 'networkx' has no attribute 'connected_component_subgraphs'

B = nx.Graph()
B.add_nodes_from(data['movie'].unique(), bipartite=0, label='movie')
B.add_nodes_from(data['actor'].unique(), bipartite=1, label='actor')
B.add_edges_from(edges, label='acted')

A = list(nx.connected_component_subgraphs(B))[0]

I am getting the below given error when am trying to use nx.connected_component_subgraphs(G). Please help with this issue.

In the dataset there are two coumns(movie and actor), and it's in the form bipartite graph.

I want to get connected components for the movie nodes.


AttributeError Traceback (most recent call last) in ----> 1 A = list(nx.connected_component_subgraphs(B))[0]

AttributeError: module 'networkx' has no attribute 'connected_component_subgraphs'

This was deprecated with version 2.1, and finally removed with version 2.4.

See these instructions

Use (G.subgraph(c) for c in connected_components(G))

Or (G.subgraph(c).copy() for c in connected_components(G))

connected_component_subgraphs has been removed from the networkx library. You can use the alternative described in the deprecation notice.

For your example, refer to the code below:

A = (B.subgraph(c) for c in nx.connected_components(B))
A = list(A)[0]

Use the following code for single line alternative

A=list(B.subgraph(c) for c in nx.connected_components(B))[0]

Or you can install the previous version of networkx

pip install networkx==2.3

First I got

AttributeError: module 'matplotlib.cbook' has no attribute 'iterable'.

To fix the above error, I upgraded networkx using

pip install --upgrade --force-reinstall  network

It installed unetworkx-2.6.3, I got the error

AttributeError: module networkx has no attribute connected_component_subgraphs.

I used the below code as mentioned by ABHISHEK D, it resolved. Thanks.

A=list(B.subgraph(c) for c in nx.connected_components(B))[0]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM