Как упомянул @roganjosh в комментариях, вы можете использовать choice , одна альтернатива - использовать randint и сдвигать границы следующим образом:
import numpy as np
a = (2 * np.random.randint(low=0, high=2, size=10)) - 1
print(a)
выход
[ 1 1 1 -1 -1 -1 1 -1 1 1]
Тесты
import timeit
print(timeit.timeit('a = (2 * np.random.randint(low=0, high=2, size=1000)) - 1', setup='import numpy as np', number=10000))
print(timeit.timeit('a = np.random.choice([-1, 1], 1000)', setup='import numpy as np', number=10000))
выход
0.10986099799993099
0.18005346000063582