Как сравнить два столбца в pandas: с примерами
Часто вам может потребоваться сравнить два столбца в DataFrame Pandas и записать результаты сравнения в третий столбец.
Вы можете легко сделать это, используя следующий синтаксис:
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 #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
Мы можем использовать следующий код, чтобы сравнить количество голов в строке и отобразить победителя матча в третьем столбце:
#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
Результаты сравнения отображаются в новом столбце под названием «Победитель» .
Комментарии
Вот несколько вещей, которые следует учитывать при сравнении двух столбцов в DataFrame pandas:
- Количество условий и вариантов выбора должно быть равным.
- По умолчанию указывается значение, которое будет отображаться в новом столбце, если ни одно из условий не выполнено.
- Для работы этого кода необходимы NumPy и Pandas .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как переименовать столбцы в Pandas
Как добавить столбец в DataFrame Pandas
Как изменить порядок столбцов в Pandas DataFrame