numpyのインデックスについてなんですが、配列の値を調べてなんらかの条件で
bool型の配列を返す関数がfunc1とfunc2の2種類あるとして、
以下のように使った場合元のaに対応したbool型配列を得るうまい方法ってなにかあります?

a = np.random.rand(100)
b = func1(a)
c = func2(a[b])

自分で考えたら以下のようになったんですがもっと良い方法はないのか悩んでいます。

e = np.arange(len(a))[b][c]
f = np.zeros(len(a), dtype=bool)
f[e] = True