code: def _get_primary_key(self, feature_name, feature_df):
          
          if feature_name not in self.PRIMARY_KEY_COLUMNS:
              return None
          primary_key = self.PRIMARY_KEY_COLUMNS[feature_name]
          primary_key_values = feature_df[primary_key]
          if primary_key_values.isnull().any():
              raise ValueError(
                  "Column '%s' can't be primary key of table '%s'"
                  " because it contains nulls values" % (
                      primary_key, feature_name))
          elif len(primary_key_values.unique()) < len(primary_key_values):
              raise ValueError(
                  "Column '%s' can't be primary key of table '%s'"
                  " because it contains repeated values" % (
                      primary_key, feature_name))
          else:
              return primary_key
docs: Name of primary key for a feature table (e.g. "gene" -> "gene_id")
  
          Since we're potentially going to run this code over unseen data,
          make sure that the primary is unique and never null.
  
          If a feature doesn't have a primary key, return None.