code: def fixed_vectors_encoding(index_encoded_sequences, letter_to_vector_df):
      
      (num_sequences, sequence_length) = index_encoded_sequences.shape
      target_shape = (
          num_sequences, sequence_length, letter_to_vector_df.shape[0])
      result = letter_to_vector_df.iloc[
          index_encoded_sequences.flatten()
      ].values.reshape(target_shape)
      return result
docs: Given a `n` x `k` matrix of integers such as that returned by `index_encoding()` and
      a dataframe mapping each index to an arbitrary vector, return a `n * k * m`
      array where the (`i`, `j`)'th element is `letter_to_vector_df.iloc[sequence[i][j]]`.
  
      The dataframe index and columns names are ignored here; the indexing is done
      entirely by integer position in the dataframe.
  
      Parameters
      ----------
      index_encoded_sequences : `n` x `k` array of integers
  
      letter_to_vector_df : pandas.DataFrame of shape (`alphabet size`, `m`)
  
      Returns
      -------
      numpy.array of integers with shape (`n`, `k`, `m`)