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.