Attempts to get the column from the data using the specified index, raises an
        exception if this is not possible from this point in the stack.

def _index_into(self, idx, data):
        """
        Attempts to get the column from the data using the specified index, raises an
        exception if this is not possible from this point in the stack.
        """
        try:
            if is_dataframe(data):
                # Assume column indexing
                return data[idx]
            # Otherwise assume numpy array-like indexing
            return data[:,idx]
        except Exception as e:
            raise IndexError(
                "could not index column '{}' into type {}: {}".format(
                    self.columns, data.__class__.__name__, e
            ))