Jak porównać dwie kolumny w pandach: z przykładami
Często możesz chcieć porównać dwie kolumny w ramce danych Pandas i zapisać wyniki porównania w trzeciej kolumnie.
Można to łatwo zrobić, korzystając z następującej składni:
conditions=[(condition1),(condition2)] choices=[" choice1 "," choice2 "] df[" new_column_name "]=np. select (conditions, choices, default)
Oto, co robi ten kod:
- warunki to warunki, które należy sprawdzić między dwiema kolumnami
- wybory to wyniki, które zwracają się w oparciu o warunki
- np.select służy do zwracania wyników w nowej kolumnie
Poniższy przykład pokazuje, jak wykorzystać ten kod w praktyce.
Przykład: porównaj dwie kolumny w Pandach
Załóżmy, że mamy następującą ramkę danych, która pokazuje liczbę bramek zdobytych przez dwie drużyny piłkarskie w pięciu różnych meczach:
import numpy as np import pandas as pd #createDataFrame df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5], ' B_points ': [4, 5, 2, 3, 2]}) #view DataFrame df A_points B_points 0 1 4 1 3 5 2 3 2 3 3 3 4 5 2
Możemy użyć poniższego kodu, aby porównać liczbę bramek w wierszu i wyświetlić zwycięzcę meczu w trzeciej kolumnie:
#define conditions conditions = [df[' A_points '] > df[' B_points '], df[' A_points '] < df[' B_points ']] #define choices choices = [' A ', ' B '] #create new column in DataFrame that displays results of comparisons df[' winner '] = np. select (conditions, choices, default=' Tie ') #view the DataFrame df A_points B_points winner 0 1 4 B 1 3 5 B 2 3 2 A 3 3 3 Tie 4 5 2 A
Wyniki porównania zostaną wyświetlone w nowej kolumnie o nazwie zwycięzca .
Uwagi
Oto kilka rzeczy, o których należy pamiętać porównując dwie kolumny w ramce DataFrame pandy:
- Liczba warunków i wyborów musi być równa.
- Wartość domyślna określa wartość wyświetlaną w nowej kolumnie, jeśli żaden z warunków nie jest spełniony.
- Aby ten kod działał, wymagane są NumPy i Pandy .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:
Jak zmienić nazwy kolumn w Pandach
Jak dodać kolumnę do ramki danych Pandas
Jak zmienić kolejność kolumn w Pandas DataFrame