import networkx as nx
import numpy as np
import random
from networkx.utils import powerlaw_sequence
W=powerlaw_sequence(100,exponent=2.5)
random.choice(W)
What if I want the numbers of this sequence to be any number except zero? or any number in a specific range? so that the smallest value is 1, e.g.. Or even to assign this condition when choosing the random number from the sequence.
Neither powerlaw_sequence(100,exponent=2.0,range(1,20)) nor powerlaw_sequence(100,exponent=2.0,xmin=1) work. Thank you
Maybe you are looking for a Zipf sequence?
http://networkx.lanl.gov/reference/generated/networkx.utils.random_sequence.zipf_sequence.html#networkx.utils.random_sequence.zipf_sequence
I don't know numpy, so perhaps there is another possible solution, but the following should work:
However, this reduces the length of
W
by the number of elements that are filtered out because of the conditionx != 0
.