Comment vérifier si deux colonnes sont égales (identiques) avec pandas ?

Published: 04 mars 2021

Tags: Python; Pandas; DataFrame;

DMCA.com Protection Status

Exemples de comment vérifier si deux colonnes sont égales (identiques) avec pandas

Créez un dataframe avec pandas

Créons un dataframe avec pandas

import pandas as pd
import numpy as np

data = np.random.randint(10, size=(5,2))

columns = ['Score A','Score B']

df = pd.DataFrame(data=data,columns=columns)

data = np.random.randint(10, size=(5,1))

df['Score C'] = pd.DataFrame(data=data)
df['Score D'] = pd.DataFrame(data=data)

print(df)

donne par exemple

   Score A  Score B  Score C  Score D
0        5        4        7        7
1        5        9        7        7
2        1        2        6        6
3        5        2        5        5
4        4        4        4        4

Vérifiez si deux colonnes sont égales

Pour vérifier si deux colonnes sont égales, une solution consiste à utiliser pandas.DataFrame.equals, exemple:

df['Score A'].equals(df['Score B'])

donne

False

Note: la ligne suivante donne le même résultat

df.iloc[:,0].equals(df.iloc[:,1])

donne aussi

False

If we check for columns 'Score C' and 'Score D'

df['Score C'].equals(df['Score D'])

nous trouvons bien que les colonnes sont égales:

True

Idem si nous faisons:

df['Score A'].equals(df['Score A'])

donne:

True

Comparez deux colonnes

Si vous souhaitez comparer deux colonnes par élément, une solution est de faire par exemple:

df = df.copy()

df['Diff'] = np.where( df['Score A'] == df['Score B'] , '1', '0')

print(df)

donne:

   Score A  Score B  Score C  Score D Diff
0        5        4        7        7    0
1        5        9        7        7    0
2        1        2        6        6    0
3        5        2        5        5    0
4        4        4        4        4    1

ici, nous avons ajouté une colonne appelée diff (pour la différence) où 1 signifie la même valeur dans «Score A» et «Score B» sinon 0.

Références