Pandas: so überprüfen sie, ob mehrere spalten gleich sind


Sie können die folgenden Methoden verwenden, um zu überprüfen, ob mehrere Spalten in Pandas gleich sind:

Methode 1: Überprüfen Sie, ob alle Spalten gleich sind

 df[' matching '] = df. eq (df. iloc [:, 0], axis= 0 ). all (1)

Methode 2: Überprüfen Sie, ob bestimmte Spalten gleich sind

 df[' matching '] = df. apply ( lambda x: x.col1 == x.col3 == x.col4 , axis= 1 )

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7],
                   ' B ': [4, 2, 3, 5, 6, 4, 7],
                   ' C ': [4, 0, 3, 3, 5, 10, 7],
                   ' D ': [4, 0, 3, 3, 3, 8, 7]})

#view DataFrame
print (df)

   ABCD
0 4 4 4 4
1 0 2 0 0
2 3 3 3 3
3 3 5 3 3
4 6 6 5 3
5 8 4 10 8
6 7 7 7 7

Beispiel 1: Überprüfen Sie, ob alle Spalten gleich sind

Mit der folgenden Syntax können wir prüfen, ob der Wert jeder Spalte im DataFrame für jede Zeile gleich ist:

 #create new column that checks if all columns match in each row
df[' matching '] = df. eq (df. iloc [:, 0], axis= 0 ). all (1)

#view updated DataFrame
print (df)

   ABCD matching
0 4 4 4 4 True
1 0 2 0 0 False
2 3 3 3 3 True
3 3 5 3 3 False
4 6 6 5 3 False
5 8 4 10 8 False
6 7 7 7 7 True

Wenn der Wert jeder Spalte gleich ist, gibt die entsprechende Spalte True zurück.

Andernfalls wird False zurückgegeben.

Beachten Sie, dass Sie mit astype(int) wie folgt True- und False -Werte in 1 und 0 konvertieren können:

 #create new column that checks if all columns match in each row
df[' matching '] = df. eq (df. iloc [:, 0], axis= 0 ). all (1). astype (int)

#view updated DataFrame
print (df)

   ABCD matching
0 4 4 4 4 1
1 0 2 0 0 0
2 3 3 3 3 1
3 3 5 3 3 0
4 6 6 5 3 0
5 8 4 10 8 0
6 7 7 7 7 1

Beispiel 2: Überprüfen Sie, ob bestimmte Spalten gleich sind

Mit der folgenden Syntax können wir prüfen, ob die Werte in den Spalten A, C und D des DataFrame für jede Zeile gleich sind:

 #create new column that checks if values in columns A, C, and D are equal
df[' matching '] = df. apply ( lambda x: x. A == x. C == x. D , axis= 1 )

#view updated DataFrame
print (df)

   ABCD matching
0 4 4 4 4 True
1 0 2 0 0 True
2 3 3 3 3 True
3 3 5 3 3 True
4 6 6 5 3 False
5 8 4 10 8 False
6 7 7 7 7 True

Wenn die Werte in den Spalten A, C und D gleich sind, gibt die entsprechende Spalte True zurück.

Andernfalls wird False zurückgegeben.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere häufige Aufgaben in Pandas ausgeführt werden:

So benennen Sie Spalten in Pandas um
So fügen Sie einem Pandas DataFrame eine Spalte hinzu
So ändern Sie die Spaltenreihenfolge in Pandas DataFrame

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert