Как вытащить месяц из даты в pandas? 📅

Чтобы вытащить месяц из даты в Pandas, вы можете использовать атрибут dt.month для серии или столбца с типом данных datetime.


import pandas as pd

# Создаем фрейм данных с данными о дате
data = {'Дата': ['2022-01-01', '2022-02-01', '2022-03-01']}
df = pd.DataFrame(data)

# Преобразуем столбец в тип данных datetime
df['Дата'] = pd.to_datetime(df['Дата'])

# Извлекаем месяц из столбца 'Дата'
df['Месяц'] = df['Дата'].dt.month

print(df)

Результат:


        Дата  Месяц
0 2022-01-01      1
1 2022-02-01      2
2 2022-03-01      3

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

Как вытащить месяц из даты в pandas

В библиотеке pandas есть множество функций и методов для работы с датами. Если вам нужно извлечь месяц из даты, то вы можете использовать методы, доступные в классе DataFrame или Series.

Использование метода dt.month

Один из способов извлечь месяц из даты в pandas - использовать метод dt.month. Этот метод позволяет получить числовое представление месяца (от 1 до 12).


    import pandas as pd
    
    # Создаем DataFrame с колонкой 'date'
    df = pd.DataFrame({'date': ['2022-01-01', '2022-02-01', '2022-03-01']})
    
    # Преобразуем колонку 'date' в тип datetime
    df['date'] = pd.to_datetime(df['date'])
    
    # Извлекаем месяц из колонки 'date'
    df['month'] = df['date'].dt.month
    
    print(df)
    

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


           date  month
    0 2022-01-01      1
    1 2022-02-01      2
    2 2022-03-01      3
    

Как видно из примера, метод dt.month позволяет легко извлекать месяц из колонки, представленной в виде даты.

Использование атрибута dt.month_name

Другой способ получить название месяца из даты - использовать атрибут dt.month_name. Этот атрибут вернет название месяца в формате строки.


    import pandas as pd
    
    # Создаем DataFrame с колонкой 'date'
    df = pd.DataFrame({'date': ['2022-01-01', '2022-02-01', '2022-03-01']})
    
    # Преобразуем колонку 'date' в тип datetime
    df['date'] = pd.to_datetime(df['date'])
    
    # Извлекаем название месяца из колонки 'date'
    df['month'] = df['date'].dt.month_name()
    
    print(df)
    

Результат выполнения данного кода будет следующим:


           date      month
    0 2022-01-01    January
    1 2022-02-01   February
    2 2022-03-01      March
    

Как видно из примера, атрибут dt.month_name возвращает название месяца в читаемом формате.

Использование strftime

Дополнительно, вы можете использовать метод strftime с соответствующим форматом, чтобы получить месяц в нужном вам виде.


    import pandas as pd
    
    # Создаем DataFrame с колонкой 'date'
    df = pd.DataFrame({'date': ['2022-01-01', '2022-02-01', '2022-03-01']})
    
    # Преобразуем колонку 'date' в тип datetime
    df['date'] = pd.to_datetime(df['date'])
    
    # Извлекаем месяц в формате MM
    df['month'] = df['date'].dt.strftime('%m')
    
    print(df)
    

Результат выполнения данного кода:


           date  month
    0 2022-01-01     01
    1 2022-02-01     02
    2 2022-03-01     03
    

В данном примере мы использовали формат '%m', чтобы получить числовое представление месяца.

Заключение

Вытащить месяц из даты в pandas не составляет большого труда. В этой статье мы рассмотрели различные способы сделать это, включая использование методов dt.month и dt.month_name, а также метода strftime. Выбор метода зависит от ваших потребностей и предпочтений по форматированию.

Видео по теме

Пандас. Извлечь год/месяц/день из даты. Pandas. How to extract the year/month/number from the date

Извлечь год/месяц/день из столбца даты и времени Pandas 🐼 #shorts #pandas

Урок 5. Обработка и анализ данных на Python. Библиотека Pandas. Дата и время в Pandas

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

Как вытащить месяц из даты в pandas? 📅