Network Analysis
Core Operations
The multi_layer_network
object provides methods for network analysis and manipulation.
Basic Iteration
from py3plex.core import multinet
network = multinet.multi_layer_network().load_network(
"../datasets/multiedgelist.txt", input_type="multiedgelist", directed=False)
# Iterate edges
for edge in network.get_edges(data=True):
print(edge)
# Iterate nodes
for node in network.get_nodes(data=True):
print(node)
Subnetworks
# Extract by layer
layer_subnet = network.subnetwork(['1'], subset_by="layers")
# Extract by node names
node_subnet = network.subnetwork(['1'], subset_by="node_names")
# Extract by node-layer pairs
specific_subnet = network.subnetwork(
[('1','1'), ('2','1')], subset_by="node_layer_names")
NetworkX Integration
py3plex networks are compatible with NetworkX:
# Use any NetworkX function
centralities = network.monoplex_nx_wrapper("degree_centrality")
print(centralities)
For More Examples
See detailed examples:
example_multilayer_functionality.py
- Core operationsexample_networkx_wrapper.py
- NetworkX integrationexample_spreading.py
- Network traversalexample_manipulation.py
- Network manipulation
Repository: https://github.com/SkBlaz/Py3Plex/tree/master/examples