< * 그룹별 첫번쨰, 두 번째 관측치 구하기 * >
◆ Pandas를 사용하여 각 그룹별 첫 번째와 두 번째 관측치를 추출하려면 groupby() 함수와 함께 nth() 또는 head()를 사용할 수 있다.
◆ 이 두 방법 모두 그룹별로 첫 번째와 두 번째 관측치를 추출할 때 효과적이다.
■ nth()를 사용하는 방법
nth() 함수는 그룹에서 첫 번째, 두 번째 등의 특정 위치에 있는 행을 선택하는 데 유용하다.
______________________________________________________________________________
import pandas as pd
# 예시 데이터프레임 생성
data = {
'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'value': [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
df = pd.DataFrame(data)
# 그룹별로 첫 번째와 두 번째 관측치 추출
result = df.groupby('group').nth([0, 1])
print(result)
---------------------------------------------------------------------------------------
▶ nth([0, 1]): 특정 인덱스 위치에 있는 관측치만 반환한다.
▶ 따라서 데이터에 누락된 값이나 불균형이 있어도 지정된 위치에 있는 행만 선택된다.
■ head()를 사용하는 방법
head() 함수는 각 그룹에서 처음 몇 개의 행을 선택하는 데 사용된다.
- 이를 통해 각 그룹별로 처음 2개의 관측치를 얻을 수 있다.
________________________________________________________________
# 그룹별로 첫 번째와 두 번째 관측치 추출
result = df.groupby('group').head(2)
print(result)
------------------------------------------------------------------------
▶ head(2): 각 그룹에서 상위 N개의 행을 선택하는데 유용하며, 순서대로 첫 두 개의 행을 반환한다.