Как извлечь месяц из даты в Pandas (с примерами)


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

df['month'] = pd.datetimeIndex(df['date_column']). month

В следующем примере показано, как использовать эту функцию на практике.

Пример: извлечь месяц из даты в Pandas

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'sales_date': ['2020-01-18', '2020-02-20', '2020-03-21'],
 'total_sales': [675, 500, 575]})

#view DataFrame
print(df)

 sales_date total_sales
0 2020-01-18 675
1 2020-02-20 500
2 2020-03-21 575

Мы можем использовать следующий синтаксис для создания нового столбца, содержащего месяц столбца «дата_продажи»:

#extract month as new column
df['month'] = pd.datetimeIndex(df['sales_date']). month

#view updated DataFrame
print(df)

 sales_date total_sales month
0 2020-01-18 675 1
1 2020-02-20 500 2
2 2020-03-21 575 3

Мы также можем использовать следующий синтаксис для создания нового столбца, содержащего год столбца «дата_продажи»:

#extract year as new column
df['year'] = pd.datetimeIndex(df['sales_date']). year

#view updated DataFrame
print(df)

 sales_date total_sales month year
0 2020-01-18 675 1 2020
1 2020-02-20 500 2 2020
2 2020-03-21 575 3 2020

Обратите внимание, что если в DataFrame есть какие-либо значения NaN, эта функция автоматически создаст значения NaN для соответствующих значений в новых столбцах месяца и года.

Связанный: Как отсортировать кадр данных Pandas по дате

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Pandas: как подсчитать вхождения определенного значения в столбце
Pandas: получить индекс строк, столбец которых соответствует значению
Pandas: как подсчитать пропущенные значения в DataFrame