Методы управления данными в Pandas

Удаление, изменение типа и переименование данных в Pandas

Рассмотрим два важных метода Pandas — drop(), astype() и различные способы переименования столбцов. С помощью этих методов вы сможете легко изменять структуру ваших таблиц, подготавливать данные к анализу и делать их более понятными и удобными для работы.

Метод drop()

Метод drop() в Pandas используется для удаления строк или столбцов из DataFrame.

Удаление строки по индексу:

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

# Удаление строки с индексом 1
df_dropped = df.drop(1)
print(df_dropped)

#    A  B  C
# 0  1  4  7
# 2  3  6  9

Удаление столбца по названию:

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

df_dropped = df.drop(columns=['B'])
print(df_dropped)

#    A  C
# 0  1  7
# 1  2  8
# 2  3  9

Метод drop() не модифицирует исходный DataFrame. Если хотите сохранить изменения, используйте аргумент inplace=True.

Метод astype()

С помощью astype() можно изменить тип данных столбца.

df = pd.DataFrame({
    'A': ['1', '2', '3'],
    'B': [4.1, 5.2, 6.3],
})

# Изменение типа данных столбца A на int
df['A'] = df['A'].astype(int)

# Изменение типа данных столбца B на int
df['B'] = df['B'].astype(int)
print(df)

#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

Переименование столбцов

Используя метод rename():

df = pd.DataFrame({
    'old_A': [1, 2, 3],
    'old_B': [4, 5, 6]
})

# Переименование столбцов
df_renamed = df.rename(columns={'old_A': 'new_A', 'old_B': 'new_B'})
print(df_renamed)

#    new_A  new_B
# 0      1      4
# 1      2      5
# 2      3      6

Переименование всех столбцов:
Можно переименовать все столбцы, присвоив список новых имен атрибуту columns.

df.columns = ['new_A', 'new_B']
print(df)

Изменение порядка столбцов

Порой переименование столбцов может быть недостаточно, и вам захочется изменить порядок столбцов в DataFrame. Для этого достаточно просто передать список желаемых столбцов в желаемом порядке:

df = df[['B', 'A', 'C']]

Удаление строк по условиям

Мы рассмотрели удаление столбцов и строк по их названиям или индексам. Но иногда вам может потребоваться удалить строки, основываясь на некоторых условиях:

df = df[df['A'] > 10]  # Сохраняем только строки, где значения в столбце 'A' больше 10

Создание категориальных типов данных

astype() позволяет не только менять типы данных на числовые или строковые, но и преобразовывать их в категориальные. Категориальные типы данных полезны, когда у вас есть переменная с ограниченным числом уникальных значений:

df['column_name'] = df['column_name'].astype('category')

Безопасное применение метода drop()

При использовании метода drop() всегда рекомендуется установить параметр inplace=False (по умолчанию), чтобы предварительно увидеть результаты перед тем как они будут применены к исходному DataFrame. Это позволяет избежать случайного удаления важных данных.

Заключение

В Pandas предоставлены мощные инструменты для работы с данными. С помощью методов drop(), astype(), и различных способов переименования столбцов, вы можете легко и быстро модифицировать и адаптировать свои данные под различные задачи. Не забывайте про документацию и другие ресурсы, где можно найти дополнительные примеры и методы для работы с данными в Pandas.

Содержание: