In [1]:
import numpy as np
from scipy.sparse.csgraph import connected_components
from scipy.sparse import csr_matrix
In [2]:
l = [[0, 1, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 1],
[0, 0, 0, 0, 0]]
In [3]:
# n, labels = connected_components(l)
# AttributeError: 'list' object has no attribute 'dtype'
In [4]:
a = np.array(l)
print(type(a))
In [5]:
n, labels = connected_components(a)
In [6]:
print(n)
In [7]:
print(labels)
In [8]:
csr = csr_matrix(l)
print(csr)
In [9]:
print(type(csr))
In [10]:
n, labels = connected_components(csr)
In [11]:
print(n)
In [12]:
print(labels)
In [13]:
n = 5
d = [1, 1, 1, 1]
i = [0, 0, 1, 3]
j = [1, 2, 2, 4]
In [14]:
csr = csr_matrix((d, (i, j)), (n, n))
print(csr)
In [15]:
print(connected_components(csr, return_labels=False))
In [16]:
ld = [[0, 1, 1, 0, 0],
[1, 0, 1, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 1],
[0, 0, 0, 1, 0]]
In [17]:
n, labels = connected_components(csr_matrix(ld))
In [18]:
print(n)
In [19]:
print(labels)
In [20]:
n, labels = connected_components(csr_matrix(ld), connection='strong')
In [21]:
print(n)
In [22]:
print(labels)
In [23]:
ld2 = [[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[1, 0, 0, 0, 0],
[0, 0, 0, 0, 1],
[0, 0, 0, 1, 0]]
In [24]:
n, labels = connected_components(csr_matrix(ld2), connection='strong')
In [25]:
print(n)
In [26]:
print(labels)
In [27]:
n, labels = connected_components(csr_matrix(ld), directed=False, connection='strong')
In [28]:
print(n)
In [29]:
print(labels)
In [30]:
lw = [[0, 8, 5.2, 0, 0],
[0, 0, 3, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, -2],
[0, 0, 0, 0, 0]]
In [31]:
n, labels = connected_components(csr_matrix(lw))
In [32]:
print(n)
In [33]:
print(labels)