TGViewer
Мир аналитика данных Мир аналитика данных @analysts_world · 4.56K subscribers
Post #246 3.5K
🐍 Полюбила функцию .map() — за что и почему?

Ну что, опять рабочий пример. Не сложный - все таки пятница! Недавно нужно было привести разные payment_system к человекочитаемым типам оплаты — карты РФ, карты не РФ, кредиты, оплата частями и т.д. Задача вроде простая — но очень частая: 🧹 "почистить" и структурировать данные.

💡 Решение через .map()
Выглядело это примерно так:

data = {'payment_system': ['sberbank', 'tinkoff', 'stripe', 'tinkoffcredit', 'alpha_bank_podeli'],
'amount': [1000, 2000, 1500, 3000, 2500]}
df = pd.DataFrame(data)

map_dict = {
'sberbank': 'Оплата картами РФ',
'tinkoff': 'Оплата картами РФ',
'stripe': 'Оплата картами не РФ',
'tinkoffcredit': 'Т-Банк кредит',
'alpha_bank_podeli': 'Подели (Альфа-Банк)'
}

df['payment_type'] = df['payment_system'].map(map_dict)


✅ Я сделала категоризацию платежных систем! Круто звучит, правда? А если просто - то, применила словарь к данным в столбце. В вашем случае он заменяет названия платежных систем на их категории. Преобразование занимает одну строку — читаемо, быстро и лаконично.

🔍 Что такое .map() вообще?

.map() — метод в pandas, который применяется к Series (одному столбцу) и возвращает новую Series.
Он может принимать:

➖словарь — для замены значений (value: new_value) как мы и сделали

➖функцию — для произвольной логики

⚠️ Нюансы использования:
- Работает только с одной колонкой
- Для нескольких — нужно использовать apply().

Решение через .apply()

def get_payment_type(ps):
if ps in ['sberbank', 'tinkoff']:
return 'Оплата картами РФ'
elif ps == 'stripe':
return 'Оплата картами не РФ'
elif ps == 'tinkoffcredit':
return 'Т-Банк кредит'
elif ps == 'alpha_bank_podeli':
return 'Подели (Альфа-Банк)'
return 'Другое'

df['payment_type'] = df['payment_system'].apply(get_payment_type)

☝️Вывод:
Если нужно быстро заменить или классифицировать значения в одном столбце — .map() 🔥
Особенно удобно с категорией платежей, типов устройств, источников трафика и т.п.

Теперь это один из моих go-to инструментов 💼
  • 👍 29
  • 🔥 9
  • ❤‍🔥 5
  • ❤ 4
  • 🐳 1
More from @analysts_world
  1. Sep 21, 2026📊 Задачка с собеседования Ну что, по итогам голосования большинство хотят задачки и sql.…
  2. Sep 14, 2026Post #345
  3. Sep 14, 2026Что-то я тут прям зачастила с A/B тестами 😅 Смотрю на последние посты и такое чувство, чт…
  4. Sep 1, 2026🎒 С 1 сентября, друзья! Сегодня как раз отправила своих детей в школу – и вот это чувство…
  5. Aug 24, 2026Вне выборки Обычно здесь про SQL, Python и AB-тесты. Но не всё, что важно, попадает в выбо…
  6. Aug 20, 2026Fuckup Night от создателей Trisigma, Ares и karpov.courses Согласитесь, ивенты, где все де…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →