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.