Как легко изменить тип данных в pandas? 🔄

Как поменять тип данных в pandas?

Если вы хотите поменять тип данных в pandas, вы можете использовать метод astype() для изменения типа данных столбца. Вот простой пример:

import pandas as pd

# Создание DataFrame
data = {'Столбец1': [1, 2, 3],
        'Столбец2': [4.5, 5.6, 6.7]}
df = pd.DataFrame(data)

# Печать исходных данных
print("Исходные данные:")
print(df)

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

# Печать измененных данных
print("Измененные данные:")
print(df)

В этом примере мы создаем DataFrame с двумя столбцами, один из которых содержит целочисленные значения. Мы использовали метод astype(), чтобы изменить тип данных столбца 'Столбец1' на float. Вы можете изменить тип данных на любой другой, поддерживаемый pandas, такой как int, str и т. д.

Детальный ответ

Как поменять тип данных в pandas

При работе с данными в библиотеке pandas в Python иногда может потребоваться изменить тип данных определенной колонки. Например, у вас может быть столбец с числами, которые ошибочно были прочитаны как строки. В таких случаях необходимо преобразовать тип данных этой колонки для правильного анализа и обработки данных.

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

Пример 1: Изменение типа данных на числовой

Предположим, у нас есть DataFrame с колонкой 'Возраст', которая содержит числа в виде строк. Нам необходимо преобразовать эту колонку в числовой тип данных (int), чтобы мы могли выполнять математические операции с этими значениями.


import pandas as pd

data = {'Имя': ['Анна', 'Мария', 'Иван'],
        'Возраст': ['25', '30', '35']}
df = pd.DataFrame(data)

df['Возраст'] = df['Возраст'].astype(int)

print(df.dtypes)

В результате выполнения кода выше мы получим следующий вывод:

Имя object Возраст int32 dtype: object

Как видно из вывода, колонка 'Возраст' теперь имеет тип данных int32, что позволит выполнять операции с числами.

Пример 2: Изменение типа данных на строковый

Иногда нам может потребоваться преобразовать колонку с числами в строковый тип данных. Например, если у нас есть колонка с номерами телефонов, а мы хотим сохранить их в виде строк, чтобы избежать потери ведущих нулей.


import pandas as pd

data = {'Имя': ['Анна', 'Мария', 'Иван'],
        'Телефон': [12345, 67890, 54321]}
df = pd.DataFrame(data)

df['Телефон'] = df['Телефон'].astype(str)

print(df.dtypes)

В результате выполнения кода выше мы получим следующий вывод:

Имя object Телефон object dtype: object

Колонка 'Телефон' теперь имеет тип данных object (строка), что позволяет хранить номера телефонов без потери ведущих нулей.

Пример 3: Изменение типа данных на дату

Еще одной распространенной задачей является преобразование колонки в тип данных "дата". Например, если у вас есть колонка с датами в формате строки, то важно преобразовать ее в тип данных "дата", чтобы можно было выполнять операции с датами и сортировать значения по возрастанию или убыванию.


import pandas as pd

data = {'Имя': ['Анна', 'Мария', 'Иван'],
        'Дата рождения': ['1990-05-15', '1985-10-25', '1992-01-03']}
df = pd.DataFrame(data)

df['Дата рождения'] = pd.to_datetime(df['Дата рождения'])

print(df.dtypes)

В результате выполнения кода выше мы получим следующий вывод:

Имя object Дата рождения datetime64[ns] dtype: object

Теперь колонка 'Дата рождения' имеет тип данных datetime64[ns], что позволяет работать с датами и выполнять соответствующие операции.

Пример 4: Изменение типа данных с использованием функции apply()

Если нам необходимо выполнить более сложное преобразование типа данных, мы можем использовать функцию apply(). Функция apply() позволяет применить пользовательскую функцию к каждому элементу колонки.

Рассмотрим пример, где мы хотим изменить тип данных колонки 'Цена' на float и удалить символы валюты, которые могут присутствовать в значениях.


import pandas as pd

data = {'Товар': ['Мобильный телефон', 'Ноутбук', 'Планшет'],
        'Цена': ['$1000', '$1500', '$800']}
df = pd.DataFrame(data)

def convert_price(price):
    price = price.replace('$', '')
    return float(price)

df['Цена'] = df['Цена'].apply(convert_price)

print(df.dtypes)

В результате выполнения кода выше мы получим следующий вывод:

Товар object Цена float64 dtype: object

Теперь колонка 'Цена' имеет тип данных float64, и символы валюты были удалены.

Вывод

Изменение типа данных в pandas очень важно при работе с данными. Мы рассмотрели несколько примеров, как изменить тип данных колонки в pandas. Метод astype() является базовым методом для преобразования типов данных, но при необходимости можно использовать и другие методы, такие как apply(), чтобы выполнить более сложные преобразования.

Помните, что правильный тип данных позволяет правильно анализировать и обрабатывать данные, что важно для получения точных и надежных результатов.

Видео по теме

Как изменить тип данных столбцов файла? (Анализ данных Python)

Анализ данных Python: Как понимать тип данных в Питоне, Python Pandas?

Pandas Базовый №4. Операции со столбцами DataFrame

Похожие статьи:

Как легко изменить тип данных в pandas? 🔄

🔑 Как пройти циклом по строкам pandas: полезный гайд для начинающих