Python:根据条件从另一个数据框中更新列值

时间:2020-05-06 04:43:08

标签: python-3.x pandas dataframe

我有2个数据框

df1 = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/11'],
                  'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
                    'Cost':[10000, 5000, 15000, 2000]})

df2 = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/11'],
                    'Event':['Comedy', 'Theatre', 'Music', 'Poetry'],
                     'Cost':[1000, 15000, 5000, 3000]})

在df2中,我想基于同一事件将cost列的值编辑为df1的相同值。所以我尝试了下面的代码,但是得到了

ValueError:与Series不兼容的索引器

for i,row in df2.iterrows():
   d= df1.loc[df1['Event']==row.Event]
   df2.loc[i,'Cost']=d['Cost']

如何根据条件将值从一个数据帧更新到另一个数据帧。我不想合并或加入两个数据框。他们俩都是独立的。

0 个答案:

没有答案