import pandas as pd from math import sqrt GRAV_CONST = 9.8 # m/s^2 def calc_velocity(STRIDE_LENGTH, LEG_LENGTH, grav_const): return ((STRIDE_LENGTH / LEG_LENGTH) - 1) * sqrt(LEG_LENGTH * grav_const) dataset1 = pd.read_csv('dataset1.csv') dataset2 = pd.read_csv('dataset2.csv') DATASET = dataset1.merge(dataset2, on='NAME') _filter = DATASET['STANCE']=='bipedal' bipedals = DATASET[_filter] results = [] for index, dino in bipedals.iterrows(): vel = calc_velocity(dino['STRIDE_LENGTH'], dino['LEG_LENGTH'], GRAV_CONST) res = dict(dino) res['vel'] = vel results += [res] results.sort(key=lambda x: x['vel'], reverse=True) for dino in results: print(dino['NAME'])