web-dev-qa-db-fra.com

pandas python: comparez deux colonnes pour l’égalité et créez un troisième cadre de données

comment imprimer le résultat dans la trame de données distincte après l'avoir comparé avec deux colonnes de trames de données différentes.

considérons deux cadres de données:

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

maintenant le résultat devrait être dans une autre trame de données.

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

Utilisez concat with numpy.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
5
jezrael