DataFrameの各要素elementに対して正規表現regexpで検索かける方法。
DataFrame.applymap()を使う。

In [1]: df = pd.DataFrame({
   ...:         a:[hage, hoge, hige],
   ...:         b:[null, hige, hage],
   ...:         c:[fugu, fuga, fugo]})
In [2]: import re

In [6]: df.applymap(lambda x: bool(re.search(hage, x)))
Out[6]:
       a      b      c
0   True  False  False
1  False  False  False
2  False   True  False

In [7]: df.applymap(lambda x: bool(re.search(hige, x)))
Out[7]:
       a      b      c
0  False  False  False
1  False   True  False
2   True  False  False

In [8]: df.applymap(lambda x: bool(re.search(hi.., x)))
Out[8]:
       a      b      c
0  False  False  False
1  False   True  False
2   True  False  False

いいねー。   Series.str.contains()DataFrame.query()だと正規表現が使えないから、こっちの方がよさげ。

訂正、、、Series.str.contains()は正規表現できるらしい。。。

nekoyukimmm.hatenablog.com

stackoverflowのここで教えてもらった。

stackoverflow.com

DataFrame.apply()DataFrame.applymap()の違いは、非常にお世話になっているここ。
sinhrks.hatenablog.com