Как обновить одно значение в кадре данных с помощью словаря? - PullRequest
1 голос
/ 08 мая 2019

Мне не удается обновить отдельные значения в кадре данных на основе значений словаря перед выполнением другого вычисления

Я работаю с кадром данных и хочу вычислить значения в разных строках столбцов в строке.После того, как вычисления одной строки завершены, значения в строках после этого должны быть изменены, прежде чем могут произойти новые вычисления.Это связано с тем, что значения в строках после этого зависят от результатов предыдущего ряда.

Чтобы приблизиться, я работаю со словарем.В настоящее время я работаю в 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)

Я хочу толькообновить значения в кадре данных на основе словаря.Если бы вы знали, как это сделать, я был бы очень признателен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...