팬더 : 날짜에서 연도를 얻는 방법
다음 기본 구문을 사용하여 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에서 연도, 월, 일로 날짜 열을 만드는 방법