code: def calculate_binary(
      self, left: pd.Series, right: pd.Series
  ) -> pd.Series:
      temp = pd.DataFrame(
          left[~right.isna()]
          .groupby(right)
          .rank(ascending=True, pct=True)
      ).reset_index()
      return temp.merge(
          pd.DataFrame(right).reset_index(), how="right", on=["index"]
      )[left.name]
  
imports: from upgini.autofe.operand import PandasOperand, VectorizableMixin
  from typing import Optional
  import pandas
label_desc: Use image node_id 1 for calling the GroupByThenRank obj's underlying member method code with example usage: obj.calculate_binary(left, right) and returns: temp