У меня есть следующее df
.
cases percent_change
100 0.01
NaN 0.00
NaN -0.001
NaN 0.05
Для следующих строк (начиная со второй строки) из столбца cases
он рассчитывается как next cases = previous cases * (1 + previous percent_change)
или для строки ниже 100, он рассчитывается как 100 * (1 + 0,01) = 101. Таким образом, он должен заполняться следующим образом:
cases percent_change
100 0.01
101 0.00
101 -0.001
100.899 0.05
Я хочу игнорировать первую строку (или 100). Вот мой код, который не работает
df.loc[1:, 'cases'] = df['cases'].shift(1) * (1 + df['percent_change'].shift(1))
Пробовал и безуспешно
df.loc[1:, 'cases'] = df.loc[1:, 'cases'].shift(1) * (1 + df.loc[1:, 'percent_change'].shift(1))