РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
267 of 687 menu

Метод map

Метод map применяется к Index и позволяет преобразовать каждый элемент индекса с помощью переданной функции или отображения. Метод принимает функцию, словарь или Series в качестве аргумента и возвращает новый Index с преобразованными значениями.

Синтаксис

index.map(mapper)

Параметр mapper может быть:

- функцией, которая принимает элемент и возвращает новое значение;

- словарём или Series для замены значений по ключам.

Пример с функцией

Применим функцию возведения в квадрат к элементам индекса:

import pandas as pd ser = pd.Series([10, 20, 30, 40, 50], index=[1, 2, 3, 4, 5]) new_index = ser.index.map(lambda x: x ** 2) print(new_index)

Результат выполнения кода:

Index([1, 4, 9, 16, 25], dtype='int64')

Пример со словарём

Заменим значения индекса с помощью словаря:

import pandas as pd ser = pd.Series(['a', 'b', 'c'], index=[1, 2, 3]) mapping = {1: 'one', 2: 'two', 3: 'three'} new_index = ser.index.map(mapping) print(new_index)

Результат выполнения кода:

Index(['one', 'two', 'three'], dtype='object')

Пример с заменой на None

Если для ключа нет значения в словаре, результат будет NaN:

import pandas as pd ser = pd.Series(['a', 'b', 'c', 'd'], index=[1, 2, 3, 4]) mapping = {1: 'one', 2: 'two', 4: 'four'} new_index = ser.index.map(mapping) print(new_index)

Результат выполнения кода:

Index(['one', 'two', nan, 'four'], dtype='object')

Пример со строковыми методами

Преобразуем элементы индекса в верхний регистр:

import pandas as pd ser = pd.Series([1, 2, 3], index=['a', 'b', 'c']) new_index = ser.index.map(str.upper) print(new_index)

Результат выполнения кода:

Index(['A', 'B', 'C'], dtype='object')

Пример с несколькими преобразованиями

Применим сложное преобразование с проверкой типа:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5], index=[10, 20, 30, 40, 50]) def transform(x): if x < 25: return x * 2 return x // 2 new_index = ser.index.map(transform) print(new_index)

Результат выполнения кода:

Index([20, 40, 15, 20, 25], dtype='int64')

Смотрите также

  • метод to_series,
    который преобразует индекс в серию
  • метод to_list,
    который преобразует индекс в список
  • метод to_frame,
    который преобразует индекс в таблицу
  • метод unique,
    который возвращает уникальные значения индекса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить