in [ ]get optimal lambda value from non null income values income np array(fcc_survey_df['income']income_clean income[~np isnan(income)lopt_lambda spstats boxcox(income_cleanprint('optimal lambda value:'opt_lambdaoptimal lambda value now that we have obtained the optimal valuelet' use the box-cox transform for two values of such that loptimal and transform the raw numeric values pertaining to developer incomes in [ ]fcc_survey_df['income_boxcox_lambda_ 'spstats boxcox(( +fcc_survey_df['income'])lmbda= fcc_survey_df['income_boxcox_lambda_opt'spstats boxcox(fcc_survey_df['income']lmbda=opt_lambdafcc_survey_df[['id ''age''income''income_log''income_boxcox_lambda_ ''income_boxcox_lambda_opt']iloc[ : figure - dataframe depicting developer income distribution after box-cox transform the dataframe obtained in the output shown in figure - depicts the income feature after applying the box-cox transform for and loptimal in the income_boxcox_lambda_ and income_boxcox_lambda_ opt fields respectively also as expectedthe income_log field has the same values as the box-cox transform with let' now plot the data distribution for the box-cox transformed developer values with optimal lambda see figure - in [ ]income_boxcox_mean np round(np mean(fcc_survey_df['income_boxcox_lambda_opt']) figax plt subplots(fcc_survey_df['income_boxcox_lambda_opt'hist(bins= color='# 'plt axvline(income_boxcox_meancolor=' 'ax set_title('developer income histogram after box-cox transform'fontsize= ax set_xlabel('developer income (box-cox transform)'fontsize= ax set_ylabel('frequency'fontsize= ax text( '$\mu$='+str(income_boxcox_mean)fontsize=