팬더 : 날짜에서 연도를 얻는 방법


다음 기본 구문을 사용하여 Pandas DataFrame의 날짜 열에서 연도의 날짜를 가져올 수 있습니다.

 df[' day_of_year '] = df[' date ']. dt . dayofyear

이 특정 예에서는 날짜 열 값의 연도 일을 포함하는 day_of_year 라는 새 열을 만듭니다.

day_of_year 값의 범위는 1(1월 1일)부터 365(12월 31일)까지입니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas에서 날짜로부터 연도별 날짜 가져오기

서로 다른 날짜에 매장에서 발생한 총 매출에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2022 ', freq=' M ', periods= 10 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14

관련 항목:Pandas에서 날짜 범위를 만드는 방법

다음 코드를 사용하여 날짜 열의 해당 연도를 포함하는 day_of_year 라는 새 열을 만들 수 있습니다.

 #create new column that contains day of year in 'date' column
df[' day_of_year '] = df[' date ']. dt . dayofyear

#view updated DataFrame
print (df)

        date sales day_of_year
0 2022-01-31 6 31
1 2022-02-28 8 59
2 2022-03-31 10 90
3 2022-04-30 5 120
4 2022-05-31 4 151
5 2022-06-30 8,181
6 2022-07-31 8,212
7 2022-08-31 3,243
8 2022-09-30 5,273
9 2022-10-31 14,304

day_of_year 라는 새 열에는 날짜 열의 연도 일이 포함됩니다.

윤년으로 작업하는 경우 이 기능은 가능한 값의 범위를 365에서 366으로 자동 확장합니다.

또한 작업 중인 열이 문자열 열인 경우 먼저 pd.to_datetime()을 사용하여 문자열을 인식 가능한 날짜로 변환해야 합니다.

 #convert string column to datetime and calculate day of year
df[' day_of_year '] = pd. to_datetime (df[' date ']). dt . dayofyear

참고 : pandas dayofyear 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 날짜에 일수를 더하고 빼는 방법
Pandas에서 두 날짜 사이의 행을 선택하는 방법
Pandas에서 연도, 월, 일로 날짜 열을 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다