def _dict_unflatten(data):
    """Return un-flattened dict of input dict <data>.

    After https://stackoverflow.com/a/6037657


    Parameters
    ----------
    data : dict
        Input dict to un-flatten

    Returns
    -------
    udata : dict
        Un-flattened dict.

    """
    out = {}
    for key, value in data.items():
        parts = key.split('>')
        tmp = out
        for part in parts[:-1]:
            if part not in tmp:
                tmp[part] = {}
            tmp = tmp[part]
        if '<U' in str(value.dtype):
            value = str(value)
        tmp[parts[-1]] = value
    return out
