如何用字典更新数据框中的一个值?

时间:2019-05-08 11:50:56

标签: python-2.7 dataframe dictionary

在执行其他计算之前,我无法根据字典的值来更新数据框中的单个值

我正在使用一个数据框,并希望计算每行不同列中的值。一行计算完成后,此后各行中的值需要更改,然后才能进行新的计算。这是因为此后各行中的值取决于前一行的结果。

要解决这个问题,我正在使用字典。目前,我在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)

我只想基于字典更新数据框中的值。如果您知道该怎么做,我将不胜感激!

0 个答案:

没有答案