Как выполнить расчет на основе индекса?Python

Программы на Python
Ответить
Anonymous
 Как выполнить расчет на основе индекса?

Сообщение Anonymous »

Я очень новичок в Python, надеюсь, кто-нибудь поможет решить эту проблему.
Я пытаюсь создать расчет в Power Bi на основе моего индекса. Причина этого в том, что мой индекс сбрасывается с 1 до 250 каждый раз, когда в одном из моих столбцов появляется новое значение. вид индекса по категории.
Индекс: Торговый день (от 1 до 250)
Категория; [год контракта] 2008–2019 для каждого года обнуления индекса.
Значение: цена

Код: Выделить всё

Table/Raw Data structure
Trade Day Year  Norm_Price
1         2008   1.87
2         2008   1.84
3         2008   1.87
.         2008   1.88
.         2008   1.88
250       2008   1.22
1         2009   1.35
2         2009   1.32
3         2009   1.78
.         2009   1.55
.         2009   1.77
250       2009   1.23
and so on
Я успешно запустил две функции, но проблема в том, что когда мой индекс возвращается к одному, вычисления продолжаются, поскольку индекса нет. Как я могу к этому подойти?

Это мой код

1-й расчет/новый столбец, он работает нормально, но когда мой индексный столбец возвращается к одному, он выполняет расчет от 250 до 1, чего я не хочу. каждый раз, когда торговый день равен 1, мне нужно, чтобы мой новый столбец был 0

Код: Выделить всё

dataset.loc[0,'Percent_Change'] = 0

for i in range(1, len(dataset)):
dataset.loc[i,'Percent_Change'] = (dataset.loc[i,'Norm_Price'] - dataset.loc[i-1,'Norm_Price']) / dataset.loc[i-1,'Norm_Price']
2-й расчет/новый столбец
для каждого случая, когда торговый день равен 1, мне нужно, чтобы мой новый столбец был равен 1

Код: Выделить всё

dataset.loc[0,'Norm_Change'] = 1

for i in range(1, len(dataset)):
dataset.loc[i,'Norm_Change'] = dataset.loc[i-1,'Norm_Change'] + (dataset.loc[i,'Percent_Change'] * dataset.loc[i-1,'Norm_Change'])
если слишком сложно заставить его выполнять вычисления на основе индекса, может быть, оператор if?

если торговый день = 1, то 1 еще выполняет функцию в i ??

Любая помощь очень поможет!

спасибо!>

Подробнее здесь: https://stackoverflow.com/questions/622 ... d-on-index
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»