As you would expect there is a built in numpy
function cross
but its usage is slightly different that for the dot
product.
p = np.array([2,3,4])
q = np.array([5,6,7])
np.cross(p,q)
array([-3, 6, -3])
If you want to understand why the cross product has a different form from the dot product you need can ask a mathematician ...