<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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