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


Вы можете использовать следующие методы, чтобы проверить, существует ли столбец в pandas DataFrame:

Способ 1: проверьте, существует ли один столбец

' column1 ' in df.columns

Это вернет True , если «column1» существует в DataFrame, в противном случае он вернет False .

Способ 2: проверьте, существует ли несколько столбцов

{' column1', 'column2 '}.issubset(df.columns )

Это вернет True , если «column1» и «column2» существуют в DataFrame, в противном случае он вернет False .

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
 'points': [18, 22, 19, 14, 14, 11, 20, 28],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

 team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7 H 28 4 12

Пример 1. Проверка существования одного столбца

Мы можем использовать следующий код, чтобы увидеть, существует ли столбец «команда» в DataFrame:

#check if 'team' column exists in DataFrame
' team ' in df.columns

True

Столбец «команда» существует в DataFrame, поэтому pandas возвращает значение True .

Мы также можем использовать оператор if для выполнения некоторой операции, если столбец «команда» существует:

#if 'team' exists, create new column called 'team_name'
if ' team ' in df.columns :
 df['team_name'] = df['team']

#view updated DataFrame
print(df)

 team points assists rebounds team_name
0 A 18 5 11 A
1 B 22 7 8 B
2 C 19 7 10 C
3 D 14 9 6 D
4 E 14 12 6 E
5 F 11 9 5 F
6 G 20 9 9 G
7 H 28 4 12 H

Пример 2. Проверка существования нескольких столбцов

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

#check if 'team' and 'player' columns both exist in DataFrame
{' team', 'player '}.issubset(df.columns )

False

Столбец «команда» существует в DataFrame, а «игрок» — нет, поэтому pandas возвращает значение False .

Мы также можем использовать следующий код, чтобы увидеть, существуют ли в DataFrame как «точки», так и «помощь»:

#check if 'points' and 'assists' columns both exist in DataFrame
{' points', 'assists '}.issubset(df.columns )

True

Оба столбца существуют, поэтому pandas возвращает значение True .

Затем мы можем использовать оператор if для выполнения некоторой операции, если существуют «точки» и «помощь»:

#if both exist, create new column called 'total' that finds sum of points and assists
if {' points', 'assists '}.issubset(df.columns ):
 df['total'] = df['points'] + df['assists']

#view updated DataFrame
print(df)

 team points assists rebounds total
0 A 18 5 11 23
1 B 22 7 8 29
2 C 19 7 10 26
3 D 14 9 6 23
4 E 14 12 6 26
5 F 11 9 5 20
6 G 20 9 9 29
7 H 28 4 12 32

Поскольку в DataFrame существуют и «баллы», и «ассисты», Pandas пошли дальше и создали новый столбец под названием «итого», который показывает сумму столбцов «баллы» и «ассисты».

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

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

Как сохранить определенные столбцы в Pandas
Как выбрать столбцы по индексу в Pandas
Как сдвинуть столбец в Pandas

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