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


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

df['all_matching'] = df.apply ( lambda x: x. col1 == x. col2 == x. col3 , axis = 1 )

Этот синтаксис создает новый столбец с именем all_matching , который возвращает значение True , если все столбцы имеют совпадающие значения, в противном случае он возвращает False .

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

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

Предположим, у нас есть следующий pandas DataFrame с тремя столбцами:

import pandas as pd

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

 A B C
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

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

#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)

 A B C 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

Новый столбец с именем all_matching показывает, совпадают ли значения во всех трех столбцах в данной строке.

Например:

  • Все три значения совпадают в первой строке, поэтому возвращается True .
  • Не все значения совпадают во второй строке, поэтому возвращается False .

И так далее.

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.