Drie kolommen in panda's vergelijken (met voorbeeld)
U kunt de volgende basissyntaxis gebruiken om de waarden van drie kolommen in panda’s te vergelijken:
df[' all_matching '] = df. apply ( lambda x: x.col1 == x.col2 == x.col3 , axis = 1 )
Met deze syntaxis wordt een nieuwe kolom gemaakt met de naam all_matching , die True retourneert als alle kolommen overeenkomende waarden hebben, en anders False retourneert.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Vergelijk drie kolommen in Panda’s
Stel dat we de volgende panda’s DataFrame hebben met drie kolommen:
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7, 9, 12], ' B ': [4, 2, 3, 5, 6, 4, 7, 7, 12], ' C ': [4, 0, 3, 5, 5, 10, 7, 9, 12]}) #view DataFrame print (df) ABC 0 4 4 4 1 0 2 0 2 3 3 3 3 3 5 5 4 6 6 5 5 8 4 10 6 7 7 7 7 9 7 9 8 12 12 12
We kunnen de volgende code gebruiken om een nieuwe kolom te maken met de naam all_matching , die True retourneert als alle drie de kolommen in een bepaalde rij overeenkomen en False als dat niet het geval is:
#create new column that displays whether or not all column values match df[' all_matching '] = df. apply ( lambda x: x. A == x. B == x. C , axis = 1 ) #view updated DataFrame print (df) ABC all_matching 0 4 4 4 True 1 0 2 0 False 2 3 3 3 True 3 3 5 5 False 4 6 6 5 False 5 8 4 10 False 6 7 7 7 True 7 9 7 9 False 8 12 12 12 True
De nieuwe kolom genaamd all_matching geeft aan of de waarden in de drie kolommen in een bepaalde rij wel of niet overeenkomen.
Bijvoorbeeld:
- Alle drie de waarden komen overeen in de eerste rij, dus True wordt geretourneerd.
- Niet alle waarden op de tweede regel komen overeen, dus False wordt geretourneerd.
Enzovoort.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe kolommen te hernoemen in Pandas
Hoe u een kolom toevoegt aan een Pandas DataFrame
Hoe u de kolomvolgorde in Pandas DataFrame kunt wijzigen