Как сравнить два столбца в Pandas (с примерами)


Часто вам может понадобиться сравнить два столбца в Pandas DataFrame и записать результаты сравнения в третий столбец.

Вы можете легко сделать это, используя следующий синтаксис:

conditions=[(condition1),(condition2)]
choices=[" choice1"," choice2 "]

df[" new_column_name "]=np.select (conditions, choices, default)

Вот что делает этот код:

  • условия - это условия для проверки между двумя столбцами
  • варианты — это результаты, которые должны быть возвращены в зависимости от условий
  • np.select используется для возврата результатов в новый столбец

В следующем примере показано, как использовать этот код на практике.

Пример: сравнение двух столбцов в Pandas

Предположим, у нас есть следующий DataFrame, который показывает количество голов, забитых двумя футбольными командами в пяти разных матчах:

import numpy as np
import pandas as pd

#create DataFrame
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

Мы можем использовать следующий код для сравнения количества голов по строкам и вывода победителя матча в третьем столбце:

#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

Результаты сравнения отображаются в новой колонке под названием « победитель» .

Заметки

Вот несколько вещей, о которых следует помнить при сравнении двух столбцов в кадре данных pandas:

  • Количество условий и вариантов выбора должно быть равным.
  • Значение по умолчанию указывает значение, которое будет отображаться в новом столбце, если ни одно из условий не выполняется.
  • И NumPy , и Pandas необходимы, чтобы этот код работал.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как переименовать столбцы в Pandas
Как добавить столбец в Pandas DataFrame
Как изменить порядок столбцов в Pandas DataFrame