Самый простой способ из того, что у вас есть:
X = np.stack((x,y,z)) # stack up all coordinates
mask = X[-1]>=0 # mask of elements where z coordinate larger than 0
x,y,z = X.T[mask].T # mask out the elements where z coordinate < 0
Тогда постройте эти точки. Вы получите полушарие, я думаю,