Как проверить, существует ли столбец в 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