pandas.Series.map
-
Series.map(arg, na_action=None)[source] -
Преобразование значений Series с использованием заданного соответствия (словарь, Series или функция).
Параметры: arg : функция, словарь или Series
Соответствие для преобразования.
na_action : {None, ‘ignore’}
Если ‘ignore’, пропускать значения NA, не передавая их в соответствие для преобразования.
Возвращает: y : Series
Индекс совпадает с индексом исходного объекта.
См. также
-
Series.apply - Для применения более сложных функций к Series.
-
DataFrame.apply - Применение функции по строкам/столбцам.
-
DataFrame.applymap - Применение функции к каждому элементу DataFrame.
Примечания
Когда
argявляется словарем, значения в Series, которые отсутствуют в словаре (в качестве ключей), преобразуются вNaN. Однако, если словарь является подклассомdict, который определяет__missing__(т.е. предоставляет метод для значений по умолчанию), то используется это значение по умолчанию, а неNaN:>>> from collections import Counter >>> counter = Counter() >>> counter['bar'] += 1 >>> y.map(counter) 1 0 2 1 3 0 dtype: int64
Примеры
Сопоставление входных значений с выходными (оба типа
Series):>>> x = pd.Series([1,2,3], index=['one', 'two', 'three']) >>> x one 1 two 2 three 3 dtype: int64
>>> y = pd.Series(['foo', 'bar', 'baz'], index=[1,2,3]) >>> y 1 foo 2 bar 3 baz
>>> x.map(y) one foo two bar three baz
Если
argявляется словарем, возвращается новая Series со значениями, преобразованными в соответствии с сопоставлением словаря:>>> z = {1: 'A', 2: 'B', 3: 'C'}>>> x.map(z) one A two B three C
Используйте na_action для управления тем, как значения NA влияют на функцию сопоставления.
>>> s = pd.Series([1, 2, 3, np.nan])
>>> s2 = s.map('this is a string {}'.format, na_action=None) 0 this is a string 1.0 1 this is a string 2.0 2 this is a string 3.0 3 this is a string nan dtype: object>>> s3 = s.map('this is a string {}'.format, na_action='ignore') 0 this is a string 1.0 1 this is a string 2.0 2 this is a string 3.0 3 NaN dtype: object -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.Series.map.html