Я хочу рассчитать сумму, но также добавить скорость роста к каждой сумме.
Скорость роста = 0,1
Каждая строка для столбца Cumsum with Growth будетдобавить компонент роста из предыдущих строк cumsum: Row 2 = (1+2) + (1*0.1) Row 3 = (3.1 + 1) + (3.1 * 0.1) Row 4 = (4.41 + 5) + (4.41* 0.1)
Row 2 = (1+2) + (1*0.1)
Row 3 = (3.1 + 1) + (3.1 * 0.1)
Row 4 = (4.41 + 5) + (4.41* 0.1)
Как я могу выполнить это, не повторяя каждую строку в Pandas?
Вы можете попробовать это:
col = [df.val.values[0]] for i in range(1, len(df.index)): col.append(col[i-1]+df.val.values[i]+col[i-1]*0.1) df['cumsumwithgrowth'] = col
df
val cumsumwithgrowth 0 1 1.000 1 2 3.100 2 1 4.410 3 5 9.851
Я бы создал другой столбец с именем, CumSumwithGrowth
df['cum_sum'] = df.val1.cumsum() df['CumSumWithGrowth'] = .10*df[‘cum_sum’] + df[‘cum_sum’]