Мне не удается обновить отдельные значения в кадре данных на основе значений словаря перед выполнением другого вычисления
Я работаю с кадром данных и хочу вычислить значения в разных строках столбцов в строке.После того, как вычисления одной строки завершены, значения в строках после этого должны быть изменены, прежде чем могут произойти новые вычисления.Это связано с тем, что значения в строках после этого зависят от результатов предыдущего ряда.
Чтобы приблизиться, я работаю со словарем.В настоящее время я работаю в Excel, где мне удается обновить значения одной ячейки со словарем.Однако, чтобы ускорить вычисление, я хочу работать с правильным фреймом данных.
Мне удается обновить словарь на основе результатов, но мне не удается обновить свой фрейм данных с этими новыми значениями citionary
Код, который работает для моей текущей модели на основе Excel:
dict1={1:10,2:15.....38:29} #my dictionary
for row in range(2,sheet.max_row+1):
#updates the table with values of the dictionary before each calculation
sheet['F'+str(row)].value = dict1[sheet['C'+str(row)].value]
# calculations being executed
(.....)
#updating the dictionary with the results of the calculations in the row
dict1_1={sheet['C'+str(row)].value :sheet['F'+str(row)].value}
dict1.update(dict1_1)
То, что я до сих пор пробовал с кадром данных, выглядит так:
for row in df.T.itertuples():
df.replace({"P_building_kg_y": dict1}) ##### <-----HERE IS THE PROBLEM!
# calculations being executed
(.....)
#updating the dictionary with the results of the calculations in the row
dict1_1=dict(zip(df.FacilityID, df.P_building_kg_y))
dict1.update(dict1_1)
Я хочу толькообновить значения в кадре данных на основе словаря.Если бы вы знали, как это сделать, я был бы очень признателен!