def findRowColumn(df, predicate):
  """
  Returns index, column tuples whose value satisfies a predicate.
  :param pd.DataFrame df:
  :param UnaryBooleanFunction predicate:
  :return list-of-tuple:
  """
  result = []
  for index in df.index:
    for column in df.columns:
      if predicate(df.loc[index, column]):
        result.append((index, column))
  return result