python pandas:比较两列是否相等,并在第三个数据帧中得出结果

时间:2018-10-12 10:33:31

标签: python pandas dataframe comparison concat

将结果与不同数据框中的两列进行比较后,如何在单独的数据框中打印结果。

考虑两个数据框:

df1 = pd.DataFrame({'col1':['audi','cars']})  
df2 = pd.DataFrame({'col2':['audi','bike']})

print (df1)

    col1
0  audi
1  cars 

print (df2)

     col2
0   audi
1   bike

现在结果应该在其他数据框中。

      col1  col2  result
0     audi  audi   no change
1     cars  bike   changed

1 个答案:

答案 0 :(得分:6)

concatnumpy.where一起使用:

df = pd.concat([df1, df2], axis=1)
df['result'] = np.where(df['col1'] == df['col2'], 'no change', 'changed')
print (df)
   col1  col2     result
0  audi  audi  no change
1  cars  bike    changed