DataFrame.get() / Series.get()

Метод get() возвращает значение по ключу (метке столбца или индекса), а если ключ отсутствует — значение по умолчанию вместо ошибки KeyError. Аналог одноимённого метода словаря.

Сигнатура

DataFrame.get(key, default=None)
Series.get(key, default=None)

Параметры

  • key — метка столбца (для DataFrame) или метка индекса (для Series). Может быть списком.

  • default — значение, возвращаемое при отсутствии ключа. По умолчанию None.

Возвращаемое значение

Соответствующий Series / скаляр / DataFrame, либо default, если ключ не найден.

Примеры

Пример 1. Получение столбца DataFrame

import pandas as pd

df = pd.DataFrame({"temp": [22, 23], "humidity": [55, 60]})
print(df.get("temp"))
0    22
1    23
Name: temp, dtype: int64

Пример 2. Отсутствующий ключ → default

import pandas as pd

df = pd.DataFrame({"temp": [22, 23]})
print(df.get("pressure", default="no sensor"))
no sensor

Пример 3. Получение по индексу Series

import pandas as pd

cfg = pd.Series({"baudrate": 9600, "pin_led": 13, "pin_btn": 2})
print(cfg.get("baudrate"))
print(cfg.get("wifi_ssid", default="unset"))
9600
unset

Пример 4. Список ключей

import pandas as pd

df = pd.DataFrame({"a": [1, 2], "b": [3, 4], "c": [5, 6]})
print(df.get(["a", "c"]))
   a  c
0  1  5
1  2  6

Пример 5. Безопасный доступ в функции

import pandas as pd

def avg_temp(df):
    col = df.get("temp")
    return col.mean() if col is not None else None

print(avg_temp(pd.DataFrame({"temp": [20, 22, 24]})))
print(avg_temp(pd.DataFrame({"humidity": [55, 60]})))
22.0
None

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.