Освойте 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-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий