Как перевести строку в дату с помощью Python Pandas
import pandas as pd
# Создание DataFrame с примером строки
data = {'date_str': ['2021-05-10', '2021-06-15', '2021-07-20']}
df = pd.DataFrame(data)
# Преобразование столбца со строками в формат даты
df['date'] = pd.to_datetime(df['date_str'])
print(df)
Детальный ответ
Как перевести строку в дату в Python с помощью библиотеки Pandas?
Python Pandas – это мощная библиотека для анализа данных. Она предоставляет удобные инструменты для работы с таблицами и временными данными. Иногда вам может потребоваться преобразовать строку в дату в Pandas. В этой статье мы рассмотрим несколько способов сделать это с помощью Pandas.
1. Использование функции to_datetime()
Функция to_datetime() позволяет преобразовывать объекты в Pandas в формат даты и времени. Она автоматически определит формат даты на основе переданной строки.
import pandas as pd
# Создаем пример DataFrame
data = {'Дата': ['2022-05-01', '2022-06-01', '2022-07-01']}
df = pd.DataFrame(data)
# Преобразуем столбец 'Дата' в тип datetime
df['Дата'] = pd.to_datetime(df['Дата'])
# Выводим DataFrame
print(df)
Результат выполнения кода:
Дата
0 2022-05-01
1 2022-06-01
2 2022-07-01
2. Указание формата даты
Если вы заранее знаете формат даты в строке, вы можете явно указать его в функции to_datetime() с помощью параметра format.
import pandas as pd
# Создаем пример DataFrame
data = {'Дата': ['01-05-2022', '01-06-2022', '01-07-2022']}
df = pd.DataFrame(data)
# Преобразуем столбец 'Дата' в тип datetime с указанием формата
df['Дата'] = pd.to_datetime(df['Дата'], format='%d-%m-%Y')
# Выводим DataFrame
print(df)
Результат выполнения кода:
Дата
0 2022-05-01
1 2022-06-01
2 2022-07-01
3. Обработка некорректных дат
Pandas автоматически обрабатывает случаи, когда встречаются некорректные даты. Например, если вам дана строка с некорректной датой '2022-02-30', Pandas преобразует эту строку в NaT (Not a Time).
import pandas as pd
# Создаем пример DataFrame
data = {'Дата': ['2022-02-28', '2022-02-30']}
df = pd.DataFrame(data)
# Преобразуем столбец 'Дата' в тип datetime
df['Дата'] = pd.to_datetime(df['Дата'])
# Выводим DataFrame
print(df)
Результат выполнения кода:
Дата
0 2022-02-28
1 NaT
4. Работа с форматом UNIX времени
Pandas также поддерживает преобразование строки в формате UNIX времени в тип datetime. Для этого вы можете использовать функцию to_datetime() с параметром unit='s' (секунды) или unit='ms' (миллисекунды).
import pandas as pd
# Создаем пример DataFrame
data = {'Время': ['1643587200', '1643673600']}
df = pd.DataFrame(data)
# Преобразуем столбец 'Время' в тип datetime
df['Время'] = pd.to_datetime(df['Время'], unit='s')
# Выводим DataFrame
print(df)
Результат выполнения кода:
Время
0 2022-01-31 00:00:00
1 2022-02-01 00:00:00
Заключение
В этой статье мы рассмотрели, как перевести строку в дату в Python с помощью библиотеки Pandas. Мы изучили простой способ использования функции to_datetime(), указание формата даты и обработку некорректных дат. Теперь у вас есть несколько методов для работы с датами в Pandas, которые помогут вам в анализе данных.