DataFrame как выполнять расчеты (см. Прикрепленное фото) - PullRequest
0 голосов
/ 03 октября 2019

index calculation

Как вы можете видеть, расчеты в столбце D следуют определенной схеме, т.е. предыдущему значению * (1 + коэффициент% / 365)

поэтому в ячейке D2 у вас есть 100 * (1 + 8% / 365), D3 будет 100.021918 * (1 + 8.06% / 365)

, есть ли простой способ сделать это в Python, так как я неЯ хочу использовать Excel для этой цели .... и у меня есть ежедневные данные за 30 лет.

Ответы [ 2 ]

0 голосов
/ 03 октября 2019
cell_d = [100]
rates = [0.08, 0.0806, 0.0812, 0.0813, 0.08]
for i, rate in enumerate(rates):
    cell_d.append(cell_d[i] * (1 + rate/365))
pd.DataFrame({'rates': rates, 'cell_d': cell_d[1:]})

Вероятно, следует переименовать cell_d во что-то более значимое.

0 голосов
/ 03 октября 2019

Я не знаю ни одного "дружественного к DataFrame" способа сделать это, но вы можете просто перебирать строки с индексом, используя цикл for.

for i in range(1, num_rows):
    df[i]["value"] = df[i-1]["value"] * (1 + df[i]["rate"]/365)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...