根据两个条件填充另一个数据框

时间:2018-10-15 18:48:41

标签: python function dataframe merge lookup

我对正在进行的一个小项目有些困惑,感谢您的帮助。

我有两个数据帧。

第一个较大,这是我要用于最终分析的那个。

它包含用于基于行业,地区的债券的ISIN,并具有标普和穆迪评级。

ISIN

行业

地区

SP

MD

第二个数据包含行业,评级(标准普尔和穆迪评级)和地区,以及基于投资,研发支出等财务信息的估计评级。

行业

地区

SP

MD

内部估算

我想在第一个数据库的新列中提取基于标有“内部估算”的行业,地区和等级的内部等级。

合并将不起作用,因为在一个行业中,您可能会拥有多个标普和穆迪的评级,甚至有时会丢失它们。

这就是为什么我编写具有以下条件的代码的原因:

对于范围在(1:i)中的i:

 if Bond_Rating[‘MD’]='' and Bond_Ratings[‘SP’]='':

     Bond_Rating[Internal Estimate] = ''

    elif  Bond_Rating['MD']='' and Bond_Rating[‘SP’]!='':

       Bond_Rating['INTERNAL ESTIMATE']= Bond_Rating.lookup[concat('BicId','RegionName',’SP’),INTERNAL ESTIMATE.Table[‘InternalEstimate’]]

    elif  Bond_Rating['MD']!='' and Bond_Rating[‘SP’]='':

        Bond_Rating['INTERNAL ESTIMATE']= Bond_Rating.lookup[concat('BicId','RegionName','MD'), INTERNAL ESTIMATE.Table[‘InternalEstimate’]]

    elif  Bond_Rating['MD']!='' and Bond_Rating[‘SP’] !='':

        Bond_Rating['INTERNAL ESTIMATE']= Bond_Rating.lookup[concat('BicId','RegionName','MD',’SP’), INTERNAL ESTIMATE.Table[‘InternalEstimate’]]

但是,我不确定为什么我的代码不起作用。我不断收到错误消息。

感谢您的帮助。

0 个答案:

没有答案