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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *