Pandas는 파이썬의 강력한 데이터 분석 라이브러리로, 테이블 형식의 데이터를 다루고 분석하는 데 매우 유용합니다. Pandas를 사용하면 데이터프레임(DataFrame)을 생성하고 데이터를 쉽게 처리할 수 있습니다.
이번 글에서는 Pandas의 기본 개념과 데이터프레임을 사용하는 기초 방법을 예제와 함께 소개합니다.
1. Pandas 설치 및 데이터프레임 기본 이해
Pandas는 데이터프레임과 시리즈(Series)라는 두 가지 주요 데이터 구조를 제공합니다.
데이터프레임은 행과 열로 구성된 2차원 구조로 엑셀과 비슷한 형태의 데이터를 다룰 수 있습니다.
Pandas 설치하기
Pandas를 설치하려면 터미널에서 다음 명령어를 실행합니다:
pip install pandas
데이터프레임 생성하기
데이터프레임을 생성하기 위해 pd.DataFrame()
을 사용합니다. 기본적으로 리스트나 딕셔너리 형태의 데이터를 전달할 수 있습니다.
예제 1: 데이터프레임 생성
import pandas as pd
# 딕셔너리를 사용한 데이터프레임 생성
data = {
"이름": ["철수", "영희", "민수"],
"나이": [15, 17, 16],
"성적": [88, 92, 79]
}
df = pd.DataFrame(data)
print(df)
위 코드에서 딕셔너리를 사용해 학생의 이름, 나이, 성적을 가진 데이터프레임을 생성합니다.
2. 데이터 탐색
Pandas는 데이터를 탐색하고 요약하는 다양한 기능을 제공합니다.
기본 정보 확인
df.head()
: 상위 5개 행을 출력df.info()
: 데이터프레임의 요약 정보 출력df.describe()
: 수치형 데이터의 통계 요약 제공
예제 2: 데이터 탐색
# 상위 5개 데이터
print(df.head())
# 데이터프레임 정보
print(df.info())
# 수치형 데이터 통계 요약
print(df.describe())
위 코드에서 df.head()
를 통해 상위 5개 데이터를 미리 보고, info()
와 describe()
로 데이터프레임의 요약 정보를 확인할 수 있습니다.
3. 데이터 선택과 필터링
데이터프레임에서 특정 열이나 행을 선택하거나 조건에 따라 데이터를 필터링할 수 있습니다.
열 선택
특정 열을 선택하려면 열 이름을 인덱싱하여 선택할 수 있습니다.
예제 3: 특정 열 선택
# '이름' 열 선택
print(df["이름"])
# '이름'과 '성적' 열 선택
print(df[["이름", "성적"]])
조건 필터링
특정 조건을 만족하는 행을 필터링할 수 있습니다. 예를 들어, 성적이 90점 이상인 학생을 필터링할 수 있습니다.
예제 4: 조건에 따른 데이터 필터링
# 성적이 90점 이상인 학생
high_scores = df[df["성적"] >= 90]
print(high_scores)
4. 데이터 정렬
데이터프레임을 특정 열을 기준으로 오름차순 또는 내림차순으로 정렬할 수 있습니다.
예제 5: 데이터 정렬하기
# 성적을 기준으로 오름차순 정렬
df_sorted = df.sort_values(by="성적")
print(df_sorted)
# 나이를 기준으로 내림차순 정렬
df_sorted = df.sort_values(by="나이", ascending=False)
print(df_sorted)
5. 데이터 추가 및 수정
새로운 열을 추가하거나 기존 데이터를 수정할 수 있습니다.
열 추가
새로운 열을 추가할 때는 열 이름을 지정하고 데이터를 할당합니다.
예제 6: 새로운 열 추가
# 합격 여부 열 추가 (성적 80점 이상은 합격)
df["합격 여부"] = df["성적"] >= 80
print(df)
데이터 수정
특정 조건에 맞는 데이터를 수정할 수도 있습니다.
예제 7: 특정 데이터 수정
# 민수의 성적을 85로 수정
df.loc[df["이름"] == "민수", "성적"] = 85
print(df)
6. 기본 통계 분석
Pandas는 수치형 데이터를 간단히 분석할 수 있는 다양한 통계 함수를 제공합니다.
df["성적"].mean()
: 성적의 평균값 계산df["성적"].max()
: 성적의 최대값 계산df["성적"].min()
: 성적의 최소값 계산
예제 8: 기본 통계 분석
# 평균 성적
print("평균 성적:", df["성적"].mean())
# 최고 성적
print("최고 성적:", df["성적"].max())
# 최저 성적
print("최저 성적:", df["성적"].min())
마무리
이번 글에서는 Pandas의 기본 개념과 데이터프레임을 사용하는 기초 방법을 알아보았습니다.
Pandas는 데이터 분석에 필수적인 라이브러리로, 데이터를 탐색하고 분석하며 필요한 정보를 빠르게 추출할 수 있습니다.
다양한 실습을 통해 데이터 분석 능력을 향상시켜 보세요!