如何简单地按其第一列值过滤3d numpy数组?

假设我有一个3D numpy数组,如下所示:

 data = np.array([[[1,2,3,4],[1,2.5,3,5]],
                 [[116,230,450,430],[80,100,300,320]],
                 [[60,100,120,80],[50,80,100,90]]])

我怎样才能简单地从中提取一个相同形状的3D numpy数组,并以轴0为条件,例如选择轴0 <3的那些“行”?天真的方法是

data[data[0]<3]

但这失败了:

IndexError:布尔索引与维度0上的索引数组不匹配;维为3,但相应的布尔维为2