Network Analysis with Python


Click Python’s primary library  for mathematical



Yüklə 1,5 Mb.
Pdf görüntüsü
səhifə2/12
tarix22.03.2023
ölçüsü1,5 Mb.
#89129
1   2   3   4   5   6   7   8   9   ...   12
l109-tutorial 2015

Click
Python’s primary library 
for mathematical and 
statistical computing.
Contains toolboxes for:
• Numeric optimization
• Signal processing
• Statistics, and more…
Primary data type is an 
array.


Introduction: NetworkX
7
A “high-productivity software 
for complex networks” analysis
• Data structures for representing various networks 
(directed, undirected, multigraphs)
• Extreme flexibility: nodes can be any hashable 
object in Python, edges can contain arbitrary data
• A treasure trove of graph algorithms
• Multi-platform and easy-to-use


Introduction: when to use NetworkX
When to use
Unlike many other tools, it is designed to 
handle data on a scale relevant to modern 
problems
Most of the core algorithms rely on 
extremely fast legacy code
Highly flexible graph implementations (a 
node/edge can be anything!)
When to avoid
Large-scale problems that require faster 
approaches (i.e. massive networks with 
100M/1B edges)
Better use of memory/threads than Python 
(large objects, parallel computation)
Visualization of networks is better handled by 
other professional tools
8


Introduction: a quick example
• Use Dijkstra’s algorithm to find the shortest path in a weighted and unweighted 
network.
9
>>> import networkx as nx
>>> g = nx.Graph()
>>> g.add_edge('a', 'b', weight=0.1)
>>> g.add_edge('b', 'c', weight=1.5)
>>> g.add_edge('a', 'c', weight=1.0)
>>> g.add_edge('c', 'd', weight=2.2)

Yüklə 1,5 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   12




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin