def format_df_summary(df):
    """
    Returns a formatted dataframe for the dataset summary statistics
    table. Converts count values to integers and percentage values
    to a percent format.
        Parameters:
            df (pandas DataFrame): Dataframe to format for dataset summary
            statistics table
        Returns:
            formatted_df (pandas DataFrame): formatted dataset summary
            statistics table
    """
    df[['No. of Columns', 'No. of Rows', 'Total Value Count',
        'Count of NaNs', 'Count of Duplicate Rows',
        'Count of Numerical Variables', 'Count of Categorical Variables']] = \
        df[['No. of Columns', 'No. of Rows', 'Total Value Count',
            'Count of NaNs', 'Count of Duplicate Rows',
            'Count of Numerical Variables',
            'Count of Categorical Variables']].astype(int)

    df[['Percent of NaNs', 'Percent of Duplicate Rows']] = \
        df[['Percent of NaNs', 'Percent of Duplicate Rows']].astype(str) + '%'

    formatted_df = df.transpose()
    return formatted_df