比较2个数据框行值并检索列名

时间:2019-07-04 12:22:48

标签: python dataframe

我需要帮助比较2个单独的数据框中的2个不同的列,并从1st Dataframe中检索列名称

以下是我遇到的问题。

df1->

Col1    Col2    Col3    Col4    Col4
Value1  0   1   0   0
Value2  0   0   1   0
Value3  1   0   0   0
Value4  0   0   0   1
Value5  0   1   0   0

df2->

Col1 
-----               
Value1              
Value2              
Value3              
Value4              
Value5              
Value6              

已经编写了一个小函数

def get_col(row, val):
        try:
            a = df1.loc[row].eq(val)
            c = a.index[a][0]
        except KeyError:
            c = 'not matched row'
        except IndexError:
            c = 'not matched value'
        return c

    print (get_col(2, 1))

如果我独立运行该功能,则上述代码可以正常工作。如果它与第二个数据帧df2一起应用,它会失败的地方

df_result['category_list'] = 
primary_sector.apply(get_col(primary_sector.iloc['Col1'].index[x],1))

请告知!

预期结果

Col1    Result Column           
Value1  Col3            
Value2  Col4            
Value3  Col2            
Value4  Col5            
Value5  Col3

0 个答案:

没有答案