Series.map()

Метод Series.map() применяет к каждому элементу функцию, словарь или Series-«справочник». Главный инструмент для перекодирования значений (например, числовых кодов команд в их имена).

Сигнатура

Series.map(arg, na_action=None)

Параметры

  • arg — функция, словарь или Series.

  • na_action — None (по умолчанию) или 'ignore' (тогда NaN пропускается без вызова функции).

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

Новый Series с применённым преобразованием. Значения, не найденные в словаре/Series, заменяются на NaN.

Примеры

Пример 1. Словарь как справочник

import pandas as pd

codes = pd.Series([0, 1, 2, 1, 0])
names = {0: "STOP", 1: "FORWARD", 2: "LEFT"}
print(codes.map(names))
0       STOP
1    FORWARD
2       LEFT
3    FORWARD
4       STOP
dtype: object

Пример 2. Функция

import pandas as pd

s = pd.Series([22.1, 23.5, 21.0])
print(s.map(lambda x: f"{x:.0f}C"))
0    22C
1    24C
2    21C
dtype: object

Пример 3. Series как маппинг

import pandas as pd

pins = pd.Series({"LED": 13, "BTN": 2, "BUZZ": 8})
used = pd.Series(["LED", "BTN", "BTN", "BUZZ"])
print(used.map(pins))
0    13
1     2
2     2
3     8
dtype: int64

Пример 4. Отсутствующие ключи → NaN

import pandas as pd

s = pd.Series(["A", "B", "C"])
print(s.map({"A": 1, "B": 2}))
0    1.0
1    2.0
2    NaN
dtype: float64

Пример 5. na_action=“ignore“

import pandas as pd
import numpy as np

s = pd.Series([1, 2, np.nan, 4])
print(s.map(lambda x: x * 10, na_action="ignore"))
0    10.0
1    20.0
2     NaN
3    40.0
dtype: float64

См. также

Примечание

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

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