code: def getitem_column_array(self, key):
          
          # Convert to list for type checking
          numeric_indices = list(self.columns.get_indexer_for(key))
  
          # Internal indices is left blank and the internal
          # `apply_func_to_select_indices` will do the conversion and pass it in.
          def getitem(df, internal_indices=[]):
              return df.iloc[:, internal_indices]
  
          result = self.data.apply_func_to_select_indices(
              0, getitem, numeric_indices, keep_remaining=False
          )
          # We can't just set the columns to key here because there may be
          # multiple instances of a key.
          new_columns = self.columns[numeric_indices]
          new_dtypes = self.dtypes[numeric_indices]
          return self.__constructor__(result, self.index, new_columns, new_dtypes)
docs: Get column data for target labels.
  
          Args:
              key: Target labels by which to retrieve data.
  
          Returns:
              A new QueryCompiler.