Я использую старые данные прогноза численности населения, чтобы установить пропорцию роста в разных городах, а затем умножить ее на недавно обновленное число роста, чтобы получить новые цифры прогноза.Это может звучать не так, но идея очень проста.
Упрощенный пример, который я создал:
df = pd.DataFrame({2010: [100, 110, 120], 2015: [150, 155, 175], 2020: [180, 190, 200], 2025: [200, 210, 220]},
index = {'CityA', 'CityB', 'CityC'})
df

После этого моя серия функций:
df['10-15'] = df[2015] - df[2010]
growth = df['10-15'].sum()
df['10-15 ratio'] = df['10-15']/growth
#Real Total growth is calculated from another dataframe
df2 = pd.DataFrame({2015: 200, 2020:210, 2025: 220}, index = ['real increase'])
df2

growth2015 = df2.at['real increase', 2015]
df['New2015'] = df[2010] + growth2015*df['10-15 ratio']
В конечном итоге это даст мне желаемый результат, проекция скорректирована с использованием новейшего числа роста.
df

Проблема в том, что я делаю это каждый год с 2015 по 2045 год. Я знаю, что должен быть способ сделать это без копирования и вставки навсегда в Python, ноЯ просто не знаю как.Как мне добиться этого, построить словарь или функцию?
Спасибо