Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
23 Янв 2024
2 мин
3036

Замена значений в pandas DataFrame с использованием словаря

Часто во время работы с pandas DataFrame возникает необходимость заменить значения в одном из столбцов. Это может быть полезно, например, при подготовке данных

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Часто во время работы с pandas DataFrame возникает необходимость заменить значения в одном из столбцов. Это может быть полезно, например, при подготовке данных для анализа или обучения модели машинного обучения.

Представим, что есть DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'col1': ['w', 1, 2],
    'col2': ['a', 2, np.nan]
})

DataFrame выглядит следующим образом:

| | col1 | col2 |
|——|——|——|
| 0 | w | a |
| 1 | 1 | 2 |
| 2 | 2 | NaN |

Пусть требуется заменить значения в столбце ‘col1’ с использованием словаря:

di = {1: 'A', 2: 'B'}

Это можно сделать с помощью метода replace(), который предоставляет pandas. Вот как это можно сделать:

df['col1'] = df['col1'].replace(di)

После выполнения кода DataFrame будет выглядеть так:

| | col1 | col2 |
|——|——|——|
| 0 | w | a |
| 1 | A | 2 |
| 2 | B | NaN |

Метод replace() заменил значения в столбце ‘col1’, которые были ключами в словаре ‘di’, на соответствующие значения из этого словаря. Значения, которые не были в словаре (в данном случае ‘w’), остались без изменений.

Важно отметить, что метод replace() не изменяет исходный DataFrame, если не производить присваивание результата обратно в ‘col1’. Если нужно сохранить исходный DataFrame без изменений, можно создать новый столбец для сохранения результата:

df['new_col'] = df['col1'].replace(di)

Также стоит учесть, что метод replace() сохраняет значения NaN. Если в столбце есть значение NaN, оно останется NaN после замены.

В заключение, метод replace() в pandas — это удобный инструмент для замены значений в DataFrame с использованием словаря, который позволяет легко и быстро преобразовать данные.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий