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

rav*_*avi 1 python comparison concat dataframe pandas

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

考虑两个数据帧:

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
Run Code Online (Sandbox Code Playgroud)

现在结果应该在不同的数据帧中.

      col1  col2  result
0     audi  audi   no change
1     cars  bike   changed
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 8

使用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
Run Code Online (Sandbox Code Playgroud)