Я пытаюсь обновить существующий код, который работает нормально, добавив логику, указывающую, где совокупная сумма определенной переменной равна 1. Как только это нарушается, присваивается значение x и используется для продолжения остальной части расчет. Однако, когда я пытаюсь запустить это, я получаю одно и то же значение x для каждой строки [он вычисляет значение x для последней строки и присваивает его всем строкам]. Я проверил cumulative_sum и могу подтвердить, что она не должна быть одинаковой для всех строк.
Я сбрасываю x на 0 в цикле, поэтому не уверен, что еще может быть причиной этой проблемы. .
row_count =-1
for index, row in Input.iterrows():
row_count+=1
if index % 1 == 0:
print(str(index) + ' Accounts Done. ')
IFRS9_PD_SEGMENT = row['EY_SEG']
IFRS9_ACCOUNT_STATUS = row['IFRS9_ACCOUNT_STATUS']
IFRS9_ACCOUNT_ID = row['IFRS9_ACCOUNT_ID']
IFRS9_DEFAULT_FLAG = row['IFRS9_DEFAULT_FLAG']
EAD_DEF = row['EAD_DEF']
LGD_DEF_Base = row['LGD_DEF_Base']
LGD_DEF_Good = row['LGD_DEF_Good']
LGD_DEF_Bad = row['LGD_DEF_Bad']
LGD_DEF_Bad_2 = row['LGD_DEF_Bad_2']
PD_no_Macro = {}
PD_base = {}
PD_good = {}
PD_bad = {}
PD_bad_2 = {}
EAD = {}
LGD_base = {}
LGD_good = {}
LGD_bad = {}
LGD_bad_2 = {}
ECL_base = {}
ECL_good = {}
ECL_bad = {}
ECL_bad_2 = {}
PD_weighted = {}
Default_PD = 0.0
if IFRS9_PD_SEGMENT == "DEFAULT":
Default_PD = 1.0
if IFRS9_PD_SEGMENT != "DEFAULT" and IFRS9_PD_SEGMENT !="" :
PD_Timeseries = PD_curves[PD_curves['PD_SEGMENT']==IFRS9_PD_SEGMENT]
PD_value = row['BEH_PD']
remaining_term = row['IFRS9_REMAINING_TERM']
cumulative_sum = 0.0
x = 0.0
j = 1
while j
Подробнее здесь: https://stackoverflow.com/questions/791 ... r-each-row
Как присвоить значение на основе совокупной суммы, нарушенной для каждой строки? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Python – Как присвоить значение на основе совокупной суммы, нарушаемой для каждой строки?
Anonymous » » в форуме Python - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-