@classmethod
def _parse_subtype(cls, dtype_string):
    """
        Parse a datatype string to get the subtype

        Parameters
        ----------
        dtype_string: str
            A string like Ragged[subtype]

        Returns
        -------
        subtype: str

        Raises
        ------
        ValueError
            When the subtype cannot be extracted
        """
    dtype_string = dtype_string.lower()
    match = cls._subtype_re.match(dtype_string)
    if match:
        subtype_string = match.groupdict()['subtype']
    elif dtype_string == 'ragged':
        subtype_string = 'float64'
    else:
        raise ValueError('Cannot parse {dtype_string}'.format(dtype_string=
            dtype_string))
    return subtype_string
