docs: def prune_by_missing_percent(df, percentage=0.4):
          """
          The method to remove the attributes (genes) with more than a percentage of missing values
  
          :param df: the dataframe containing the attributes to be pruned
          :param percentage: the percentage threshold (0.4 by default)
          :return: the pruned dataframe
          """
          mask = (df.isnull().sum() / df.shape[0]).map(lambda x: True if x < percentage else False)
          pruned_df = df[df.columns[mask.values]]
          return pruned_df