Как обрабатывать даты Excel как цифры в Pandas: подробное руководство

Работа с датами в Excel иногда может быть сложной задачей, особенно при импорте данных в Pandas. Одна из распространенных проблем заключается в том, что даты могут быть неправильно интерпретированы как числовые цифры вместо правильных значений даты. В этой статье мы рассмотрим различные методы решения этой проблемы и предоставим примеры кода для демонстрации каждого подхода. К концу вы получите четкое представление о том, как правильно читать даты Excel в Pandas.

Методы обработки дат Excel в Pandas:

  1. Укажите столбцы дат.
    Один простой способ обеспечить правильную интерпретацию дат Excel — явно указать столбцы дат при чтении файла Excel с помощью параметра parse_datesв pd.read_excel()функция. Это предписывает Pandas рассматривать эти столбцы как даты.
import pandas as pd
# Specify the date columns when reading the Excel file
df = pd.read_excel('data.xlsx', parse_dates=['DateColumn'])
  1. Преобразовать столбцы в формат DateTime:
    Если даты уже читаются как числовые цифры, вы можете преобразовать их в правильный формат даты с помощью функции pd.to_datetime(). Эта функция позволяет указать формат дат, если они не имеют стандартного формата.
import pandas as pd
# Read Excel file
df = pd.read_excel('data.xlsx')
# Convert numeric date column to DateTime
df['DateColumn'] = pd.to_datetime(df['DateColumn'], format='%Y%m%d')
  1. Обработка серийных номеров дат в Excel.
    Внутренне Excel представляет даты в виде серийных номеров, где каждой дате присвоено уникальное числовое значение. Вы можете преобразовать эти серийные номера в правильные даты с помощью функции pd.to_datetime(), указав параметр originв качестве источника даты Excel.
import pandas as pd
# Read Excel file
df = pd.read_excel('data.xlsx')
# Convert Excel serial date numbers to DateTime
df['DateColumn'] = pd.to_datetime(df['DateColumn'], origin='1899-12-30', unit='D')
  1. Пользовательская функция преобразования.
    Если ни один из вышеперечисленных методов не подходит для вашего конкретного случая, вы можете определить пользовательскую функцию преобразования для обработки преобразования дат Excel. Эта функция должна принимать числовое значение даты в качестве входных данных и возвращать соответствующую дату в нужном формате.
import pandas as pd
# Read Excel file
df = pd.read_excel('data.xlsx')
# Custom function to convert Excel date to DateTime
def convert_excel_date(serial_date):
    # Implement your custom conversion logic here
    return converted_date
# Apply the custom conversion function to the date column
df['DateColumn'] = df['DateColumn'].apply(convert_excel_date)

Обработку дат Excel как цифр вместо правильных значений дат в Pandas можно решить различными методами. В этой статье мы обсудили четыре различных подхода: указание столбцов даты, преобразование столбцов в DateTime, обработку серийных номеров дат Excel и использование пользовательской функции преобразования. Следуя этим методам и используя предоставленные примеры кода, вы сможете правильно читать даты Excel и выполнять дальнейший анализ или манипулирование данными о датах в Pandas.