Is this what you are looking for?
import numpy as np
x[~np.array(mask)]
# array([[1, 2],
# [2, 3]])
Or from numpy masked array:
newX = np.ma.array(x, mask = np.column_stack((mask, mask)))
newX
# masked_array(data =
# [[1 2]
# [2 3]
# [-- --]],
# mask =
# [[False False]
# [False False]
# [ True True]],
# fill_value = 999999)