port matplotlib.pyplot as plt import pandas as pd import seaborn as sns # creating a dictionary sns.set_style("whitegrid") plt.rc('font', size=16) #controls default text size plt.rc('axes', titlesize=16) #fontsize of the title plt.rc('axes', labelsize=16) #fontsize of the x and y labels plt.rc('xtick', labelsize=16) #fontsize of the x tick labels plt.rc('ytick', labelsize=16) #fontsize of the y tick labels plt.rc('legend', fontsize=16) #fontsize of the legend # load dataset - census income census_income = pd.read_csv(r'../input/income/train.csv') # define figure fig, (ax1, ax2) = plt.subplots(2) fig.set_size_inches(18.5, 10.5) # plot age histogram age_count = census_income.groupby(by=["age"])["age"].count() ax1.bar(age_count.index, age_count, color='black') ax1.set_ylabel("Counts") ax1.set_xlabel("Age") # binning age def age_bins(age): if age < 29: return "1 - young" if age < 60 and age >= 29: return "2 - middle-aged" else: return "3 - old-aged" # apply trans. function census_income["age_bins"] = census_income["age"].apply(age_bins) # group and count all entries in the same bin age_bins_df = census_income.groupby(by=["age_bins"])["age_bins"].count() ax2.bar(age_bins_df.index, age_bins_df, color='grey') ax2.set_ylabel("Counts") ax2.set_xlabel("Age")