I want to apply a custom function and create a derived column called population2050 that is based on two columns already present in my data frame.
import pandas
Apply will pass you along the entire row with axis=1. Adjust like this assuming your two columns are called initial_popand growth_rate
initial_pop
growth_rate
def final_pop(row): return row.initial_pop*math.e**(row.growth_rate*35)