在执行其他计算之前,我无法根据字典的值来更新数据框中的单个值
我正在使用一个数据框,并希望计算每行不同列中的值。一行计算完成后,此后各行中的值需要更改,然后才能进行新的计算。这是因为此后各行中的值取决于前一行的结果。
要解决这个问题,我正在使用字典。目前,我在Excel中工作,在这里我设法用字典更新单个单元格的值。但是,为了使计算更快,我想使用适当的数据框。
我设法根据结果来更新字典,但是我没有设法使用这些新的分类值来更新我的数据框
适用于基于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)
我只想基于字典更新数据框中的值。如果您知道该怎么做,我将不胜感激!