Изменить вероятность выпадения чисел?
Нужно смотреть на результат rand как на некое число, вероятность выпадания которого равно 1 / N. И чтобы ваше реальное число выпадало в два раза чаще, ее вероятность должна быть равна двум этим числам 2 * (1 / N). 
В вашем примере, вероятность выпадания любого числа равна 1 / 100, чтобы для чисел от 0 до 50 вероятность была например 2 / N, нужно чтобы они занимали по два числа из результата randint. 

rand = np.random.randint(150, size=1)[0]
if rand < 100:
    res = rand // 2
else:
    res = rand - 50

т.е. если rand < 100, то это числа первой половины, вероятность каждого из которой равны 2 / N, а для rand > 100 and rand < 150 все также 1 / N
Нужно смотреть на результат rand как на некое число, вероятность выпадания которого равно 1 / N. И чтобы ваше реальное число выпадало в два раза чаще, ее вероятность должна быть равна двум этим числам 2 * (1 / N). 
В вашем примере, вероятность выпадания любого числа равна 1 / 100, чтобы для чисел от 0 до 50 вероятность была например 2 / N, нужно чтобы они занимали по два числа из результата randint. 

rand = np.random.randint(150, size=1)[0]
if rand < 100:
    res = rand // 2
else:
    res = rand - 50

т.е. если rand < 100, то это числа первой половины, вероятность каждого из которой равны 2 / N, а для rand > 100 and rand < 150 все также 1 / N