Метод map
Метод map применяется к Series
и возвращает новую серию, полученную в результате
поэлементного преобразования исходной. В качестве
аргумента передаётся функция, словарь или другая
серия. При передаче функции она применяется к каждому
элементу. При передаче словаря или серии происходит
замена значений по соответствию.
Синтаксис
ser.map(arg)
Пример со словарём
Давайте заменим значения в серии с помощью словаря:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
mapping = {1: 'a', 2: 'b', 3: 'c'}
res = ser.map(mapping)
print(res)
Результат выполнения кода:
0 a
1 b
2 c
3 NaN
4 NaN
dtype: object
Пример с функцией
Применим функцию для возведения каждого элемента в квадрат:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.map(lambda x: x ** 2)
print(res)
Результат выполнения кода:
0 1
1 4
2 9
3 16
4 25
dtype: int64
Пример с серией
Давайте используем другую серию для замены значений:
import pandas as pd
ser = pd.Series(['a', 'b', 'c', 'a', 'b'])
mapping_ser = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
res = ser.map(mapping_ser)
print(res)
Результат выполнения кода:
0 1
1 2
2 3
3 1
4 2
dtype: int64
Пример с обработкой строк
Применим строковый метод к каждому элементу серии:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user', 'data.csv'])
res = ser.map(lambda x: x.upper())
print(res)
Результат выполнения кода:
0 ABCDE
1 ARTICLE
2 USER
3 DATA.CSV
dtype: object