"The term “freshman 15” is commonly used in America to describe the weight students tend to gain during their freshman year in college, which is believed to be around 15 pounds (7 kg)."
According to Healthline, in a review of 32 studies, researchers discovered that more than 60% of college students gained at least 7.5 pounds (3.5 kg) during their freshman year of college. Our data shows similar results, with the 67 college freshmen in the study gaining an average of 1.179kg from September to April. I believe that this is enough proof to show that the phenomenon of the Freshman 15 is, in fact, real. (https://www.healthline.com/nutrition/freshman-15#what-causes-it)
1. The majority of people gained weight over the course of their freshman year in college from September to April (Change in Weight per Person)
2. The average participant in the study (independent of gender) gained 1.179 kgs from September to April. (Average Weight Change by Gender)
3. The average man in the study gained 1.16 kgs while the average woman gained 1.2 kgs. (Average Weight Change by Gender)
4. The change in BMI and weight of the participants was almost perfectly positively correlated. (Change in BMI Per Person, Change in Weight Per Person)
5. Since there is no correlation between height and weight, the weight increase was due to a factor other than a height height increase. (Weight to Height Ratios)
6. The top 6 most outstanding weight changes were all men, with the largest change being a loss of 13 pounds. (Change in Weight per Person)
import csv import pandas as pd fh = open('freshman_kgs.csv') freshmankgs_reader = csv.reader(fh) height_sept = [] height_apr = [] freshmankgs_list = list(freshmankgs_reader) del(freshmankgs_list[0]) df = pd.DataFrame(freshmankgs_list, columns=['Sex','Weight(Sep)', 'Weight(Apr)', 'BMI(Sep)','BMI(Apr)']) df['Height(September)'] = [1.808, 2.219, 1.753, 1.857, 1.778, 1.777, 1.625, 1.624, 1.521, 1.628, 1.684, 1.7, 1.8, 1.634, 1.601, 1.618, 1.649, 1.928, 1.66, 1.808, 1.658, 1.633, 1.742, 1.565, 1.92, 1.748, 1.782, 1.641, 1.827, 1.701, 1.683, 1.742, 1.728, 1.637, 1.901, 1.777, 1.604, 1.625, 1.703, 1.605, 1.689, 1.679, 1.641, 1.696, 1.669, 1.733, 1.68, 1.603, 1.656, 1.58, 1.909, 1.909, 1.807, 1.744, 1.558, 1.674, 1.754, 1.859, 1.756, 1.713, 1.786, 1.594, 1.699, 1.779, 1.669, 1.808, 1.603] df['Height(April)'] = [1.803, 2.221, 1.754, 1.855, 1.784, 1.778, 1.619, 1.619, 1.525, 1.632, 1.668, 1.701, 1.81, 1.644, 1.595, 1.619, 1.644, 1.93, 1.67, 1.803, 1.652, 1.643, 1.734, 1.558, 1.922, 1.75, 1.779, 1.638, 1.825, 1.697, 1.679, 1.739, 1.725, 1.645, 1.906, 1.783, 1.604, 1.623, 1.702, 1.603, 1.685, 1.675, 1.636, 1.702, 1.674, 1.734, 1.68, 1.599, 1.652, 1.574, 1.9, 1.911, 1.809, 1.746, 1.559, 1.673, 1.75, 1.852, 1.758, 1.713, 1.796, 1.587, 1.704, 1.783, 1.662, 1.799, 1.603] df['Weight Change'] = [-13.0, -11.0, -5.0, -5.0, -4.0, -4.0, -4.0, -3.0, -2.0, -2.0, -3.0, -2.0, -1.0, -1.0, -2.0, -1.0, -1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 6.0, 5.0, 6.0, 7.0, 7.0, 8.0, 11.0] df['Height Change'] = [-0.005, 0.002, 0.001, -0.002, 0.006, 0.001, -0.006, -0.005, 0.004, 0.004, -0.016, 0.001, 0.01, 0.01, -0.006, 0.001, -0.005, 0.002, 0.01, -0.005, -0.006, 0.01, -0.008, -0.007, 0.002, 0.002, -0.003, -0.003, -0.002, -0.004, -0.004, -0.003, -0.003, 0.008, 0.005, 0.006, 0.0, -0.002, -0.001, -0.002, -0.004, -0.004, -0.005, 0.006, 0.005, 0.001, 0.0, -0.004, -0.004, -0.006, -0.009, 0.002, 0.002, 0.002, 0.001, -0.001, -0.004, -0.007, 0.002, 0.0, 0.01, -0.007, 0.005, 0.004, -0.007, -0.009, 0.0] df['Number List'] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66] df['BMI Change'] = [-3.88, -2.26, -1.66, -1.4, -1.41, -1.29, -1.36, -1.0, -1.02, -0.86, -0.74, -0.72, -0.53, -0.61, -0.57, -0.42, -0.24, -0.05, 0.1, 0.11, 0.15, 0.16, 0.21, 0.26, 0.21, 0.26, 0.38, 0.44, 0.36, 0.44, 0.45, 0.42, 0.43, 0.54, 0.43, 0.49, 0.78, 0.8, 0.73, 0.85, 0.79, 0.84, 0.94, 0.9, 0.97, 0.99, 1.08, 1.28, 1.2, 1.39, 1.03, 1.05, 1.18, 1.26, 1.64, 1.45, 1.4, 1.32, 1.57, 1.7, 1.61, 2.17, 1.94, 2.11, 2.66, 2.69, 4.29] df['Weight to Height Ratios'] = [0.0003846153846153846, -0.00018181818181818183, -0.0002, 0.0004, -0.0015, -0.00025, 0.0015, 0.0016666666666666668, -0.002, -0.002, 0.005333333333333333, -0.0005, -0.01, -0.01, 0.003, -0.001, 0.005, 0.002, 0.01, -0.005, -0.006, 0.01, -0.008, -0.007, 0.002, 0.002, -0.003, -0.003, -0.002, -0.004, -0.004, -0.003, -0.003, 0.004, 0.0025, 0.003, 0.0, -0.001, -0.0005, -0.001, -0.002, -0.002, -0.0025, 0.002, 0.0016666666666666668, 0.0003333333333333333, 0.0, - 0.0013333333333333333, -0.0013333333333333333, -0.002, -0.0029999999999999996, 0.0005, 0.0005, 0.0005, 0.00025, -0.00025, -0.001, -0.00175, 0.0004, 0.0, 0.0016666666666666668, -0.0014, 0.0008333333333333334, 0.0005714285714285715, -0.001, -0.001125, 0.0] print(df) fh.close()
##convert each column into list #April weight_apr = [] bmi_apr = [] with open('freshman_kgs.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') next(csv_reader) for lines in csv_reader: weight_apr.append(int(lines[2])) bmi_apr.append(float(lines[4])) print('Weight(April):', weight_apr) print('BMI (April):', bmi_apr) #September weight_sept = [] bmi_sept = [] with open('freshman_kgs.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') next(csv_reader) for lines in csv_reader: weight_sept.append(int(lines[1])) bmi_sept.append(float(lines[3])) print('Weight(September):', weight_sept) print('BMI (September):', bmi_sept) ##finding height of each person using the equation height = (BMI/weight)^1/2 #April height_apr = [] for i in range(len(weight_apr)): height2 = (weight_apr[i]/bmi_apr[i])**(1/2) height_apr.append(float("{0:.3f}".format(height2))) print('Height(April):', height_apr) #September height_sept = [] for i in range(len(weight_sept)): height1 = (weight_sept[i]/bmi_sept[i])**(1/2) height_sept.append(float("{0:.3f}".format(height1))) print('Height(September):', height_sept) ##finding height change of each person, weight change of each person and BMI change of each person #height change height_change_list = [] for i in range(len(height_apr)): height_change = height_apr[i]-height_sept[i] height_change_list.append(float("{0:.3f}".format(height_change))) #weight change weight_change_list = [] for i in range(len(weight_apr)): weight_change = weight_apr[i]-weight_sept[i] weight_change_list.append(float("{0:.3f}".format(weight_change))) #BMI change BMI_change_list = [] for i in range(len(bmi_apr)): BMI_change = bmi_apr[i]-bmi_sept[i] BMI_change_list.append(float("{0:.3f}".format(BMI_change))) print('Weight Changes:',weight_change_list) print('Height Changes:',height_change_list) print('BMI Changes:',BMI_change_list) #list 0 to 66 number_list = [] for i in range(0,67): number_list.append(i) print('Number List:', number_list) #finding average weight change df_men = df.query('Sex== "M"') df_women = df.query('Sex== "F"') describe_all = df.describe() describe_men = df_men.describe() describe_women = df_women.describe() mean_weight_change_all_mean = describe_all['Weight Change'][1] # gives mean weight change for everyone mean_weight_change_men_mean = describe_men['Weight Change'][1] # gives mean weight change for men mean_weight_change_women_mean = describe_women['Weight Change'][1] # gives mean weight change for women # finding proportion of height change compared to weight change height_to_weight_ratios = [] for i in range(0,67): if weight_change_list[i] == 0.0: value = height_change_list[i] else: value = height_change_list[i]/weight_change_list[i] height_to_weight_ratios.append(value) print("Height to Weight Ratios:",height_to_weight_ratios)
import plotly.express as px weight_change = px.scatter(df, x='Number List', y='Weight Change',color = 'Sex',title='Change in Weight Per Person') weight_change.show()
Code for "Average Weight Change by Gender" Graph
import matplotlib.pyplot as plt width = 1 # plot plt.bar(width,mean_weight_change_all_mean, label='All') plt.bar(2*width,mean_weight_change_men_mean, label='Men') plt.bar(3*width,mean_weight_change_women_mean, label='Women') plt.ylabel('Average Weight Change (kgs)') plt.title('Average Weight Change by Gender') # calculate x label locations x_label_locations = [width,2*width,3*width] plt.xticks(x_label_locations, ['All', 'Men', 'Women']) plt.ylim(1, 1.25) plt.show()
Code for "Change in BMI per Person" Graph
import plotly.express as px BMI_change = px.scatter(df, x='Number List', y='BMI Change',color = 'Sex',title='Change in BMI Per Person') BMI_change.show()
Code for "Weight to Height Ratios" Graph
import plotly.express as px weight_to_height_ratio_graph = px.scatter(df, x='Number List', y='Weight to Height Ratios',color = 'Sex',title='Weight to Height Ratios') weight_to_height_ratio_graph.show()