Pandas DataFrame last() 메서드 사용법

Beginner

소개

이 랩에서는 Pandas DataFrame 의 last() 메서드를 사용하는 예제를 살펴보겠습니다. last() 메서드는 날짜 오프셋 (date offset) 을 기반으로 시계열 데이터의 마지막 몇 행을 선택할 수 있게 해줍니다. 이는 날짜를 인덱스로 사용하는 데이터프레임 작업 시 유용합니다. 이 메서드는 선택된 행이 있는 데이터프레임을 반환하며, 인덱스가 DatetimeIndex 가 아닌 경우 TypeError를 발생시킵니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하세요.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

날짜를 인덱스로 하는 DataFrame 생성

먼저, 인덱스로 날짜가 있는 DataFrame 을 생성해 보겠습니다. 이렇게 하면 last() 메서드를 사용하여 날짜를 기반으로 행을 선택할 수 있습니다. Pandas 의 date_range() 함수를 사용하여 날짜 범위를 생성합니다.

import pandas as pd

## Create a range of dates
dates = pd.date_range(start='2021-01-01', end='2021-01-10')

## Create a DataFrame with dates as the index
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}, index=dates)

## Display the DataFrame
print(df)

날짜 오프셋을 기반으로 마지막 몇 행 선택

이제 인덱스로 날짜가 있는 DataFrame 이 있으므로, last() 메서드를 사용하여 날짜 오프셋을 기반으로 마지막 몇 행을 선택해 보겠습니다. 오프셋은 문자열 또는 DateOffset 객체와 같은 다양한 방법으로 지정할 수 있습니다. 예를 들어, 오프셋으로 '3D'를 전달하여 마지막 3 일을 선택할 수 있습니다.

## Select the last 3 days
last_3_days = df.last('3D')

## Display the selected rows
print(last_3_days)

DatetimeIndex 가 아닌 경우 처리

DataFrame 의 인덱스가 DatetimeIndex 가 아닌 경우, last() 메서드는 TypeError를 발생시킵니다. 이를 처리하기 위해, 메서드를 호출하기 전에 인덱스의 유형을 확인할 수 있습니다.

import pandas as pd

## Create a DataFrame with a non-DatetimeIndex
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]}, index=[1, 2, 3, 4, 5])

## Check if the index is a DatetimeIndex
if isinstance(df.index, pd.DatetimeIndex):
    ## Select the last 3 rows
    last_3_rows = df.last(3)
    print(last_3_rows)
else:
    print("The index is not a DatetimeIndex.")

요약

이 Lab 에서는 Pandas DataFrame 의 last() 메서드를 사용하여 날짜 오프셋을 기반으로 시계열 데이터의 마지막 몇 행을 선택하는 방법을 배웠습니다. 날짜를 인덱스로 사용하는 DataFrame 을 생성하는 방법과 last() 메서드를 사용하여 날짜 오프셋을 기반으로 행을 선택하는 방법을 살펴보았습니다. 또한 last() 메서드를 사용할 때 DatetimeIndex 가 아닌 경우를 처리하는 방법도 배웠습니다. 이 메서드는 시계열 데이터를 사용하고 특정 기간을 선택해야 할 때 유용할 수 있습니다.