def populate_dataframe(index,columns, default_dict, dtype):
    """ helper function to populate a generic Pst dataframe attribute.  This
    function is called as part of constructing a generic Pst instance

    Parameters
    ----------
    index : (varies)
        something to use as the dataframe index
    columns: (varies)
        something to use as the dataframe columns
    default_dict : (dict)
        dictionary of default values for columns
    dtype : numpy.dtype
        dtype used to cast dataframe columns

    Returns
    -------
    new_df : pandas.DataFrame

    """
    new_df = pd.DataFrame(index=index,columns=columns)
    for fieldname,dt in zip(columns,dtype.descr):
        default = default_dict[fieldname]
        new_df.loc[:,fieldname] = default
        new_df.loc[:,fieldname] = new_df.loc[:,fieldname].astype(dt[1])
    return new_df
helper function to populate a generic Pst dataframe attribute.  This
    function is called as part of constructing a generic Pst instance

    Parameters
    ----------
    index : (varies)
        something to use as the dataframe index
    columns: (varies)
        something to use as the dataframe columns
    default_dict : (dict)
        dictionary of default values for columns
    dtype : numpy.dtype
        dtype used to cast dataframe columns

    Returns
    -------
    new_df : pandas.DataFrame