2. 데이터 탐색 및 선택
데이터가 로드되면 그 구조와 내용을 검사하는 것이 중요합니다. pandas는 강력한 데이터 선택 메서드를 제공합니다.
2.1. 데이터 탐색
다음 메서드를 사용하여 DataFrame의 개요를 확인하세요.
df.head()/df.tail(): 처음/마지막 N개 행을 봅니다.df.info(): 데이터 유형 및 null이 아닌 값 등 DataFrame의 요약을 얻습니다.df.describe(): 숫자 열의 기술 통계를 생성합니다.df.shape: 행과 열의 개수를 얻습니다.
print(df.info())
print(df.describe())
print(df.shape)
2.2. 데이터 선택
대괄호 표기법을 사용하여 열을 선택하고 .loc(레이블 기반) 또는 .iloc(정수 기반)을 사용하여 행을 선택할 수 있습니다.
열 선택
# 단일 열 선택 (Series 반환)
ages = df['Age']
print(ages.head())
# 여러 열 선택 (DataFrame 반환)
subset = df[['Name', 'Age']]
print(subset.head())
.loc를 사용한 행 선택 (레이블 기반)
# 인덱스 레이블 '0'인 행 선택
row_0 = df.loc[0]
print(row_0)
# 인덱스 레이블 '0'에서 '2'까지의 행과 'Name', 'Age' 열 선택
rows_cols = df.loc[0:2, ['Name', 'Age']]
print(rows_cols)
.iloc를 사용한 행 선택 (정수 기반)
# 첫 번째 행 선택
first_row = df.iloc[0]
print(first_row)
# 처음 3개 행과 처음 2개 열 선택
first_3_rows_2_cols = df.iloc[0:3, 0:2]
print(first_3_rows_2_cols)
조건부 선택
조건에 따라 데이터를 선택하며, 필터링을 위한 부울 Series를 반환합니다.
# 'Age'가 30보다 큰 모든 행 선택
adults = df[df['Age'] > 30]
print(adults.head())
# 여러 조건 결합
filtered_data = df[(df['Age'] > 25) & (df['City'] == 'New York')]
print(filtered_data.head())