[데이터분석] #3. Pandas 맛보기

728x90
반응형

Pandas 맛보기

Python의 Pandas 라이브러리는 데이터 분석과 처리를 위한 강력한 도구입니다. 이번 포스팅에서는 Pandas를 이용해 데이터를 불러오고, 정리하고, 분석하는 다양한 방법을 소개하도록 하겠습니다. 다음 포스팅에서는 실제로 csv 파일을 이용하여 한번 실습해보는 시간을 가져볼게요!


1. Pandas 소개 및 설치

Pandas는 테이블 형식의 데이터를 효율적으로 처리할 수 있는 라이브러리로, 데이터 분석과 머신러닝 분야에서 널리 사용됩니다.

설치 방법:

pip install pandas

라이브러리 불러오기:

import pandas as pd

2. 데이터 로딩 (CSV, Excel, JSON, Dictionary)

Pandas에서는 다양한 형식의 데이터를 쉽게 불러올 수 있습니다.

2.1 CSV 파일 불러오기

df = pd.read_csv("data.csv")
print(df.head())  # 상위 5개 행 출력

2.2 Excel 파일 불러오기

df = pd.read_excel("data.xlsx", sheet_name="Sheet1")
print(df.head())

2.3 JSON 파일 불러오기

df = pd.read_json("data.json")
print(df.head())

2.4 Dictionary 데이터를 DataFrame으로 변환

data = {"이름": ["홍길동", "이순신"], "나이": [30, 45], "도시": ["서울", "부산"]}
df = pd.DataFrame(data)
print(df)

3. 데이터 탐색 및 정리

3.1 데이터 개요 확인

print(df.info())  # 데이터 타입 및 개수 확인
print(df.describe())  # 기본 통계 정보 출력

3.2 특정 행/열 선택

print(df["이름"])  # 특정 열 선택
print(df.iloc[0])  # 첫 번째 행 선택
print(df.loc[df["나이"] > 30])  # 나이가 30 이상인 행 선택

3.3 결측값 처리

df.fillna(0, inplace=True)  # 결측값을 0으로 채우기
df.dropna(inplace=True)  # 결측값 포함된 행 삭제

4. 데이터 필터링 및 변환

4.1 조건 필터링

filtered_df = df[df["도시"] == "서울"]
print(filtered_df)

4.2 데이터 타입 변경

df["나이"] = df["나이"].astype(int)

4.3 중복값 제거

df.drop_duplicates(inplace=True)

5. 데이터 그룹화 및 집계

5.1 그룹별 평균 구하기

grouped = df.groupby("도시")["나이"].mean()
print(grouped)

5.2 Pivot Table 활용

pivot = df.pivot_table(index="도시", values="나이", aggfunc="mean")
print(pivot)

6. 데이터 조작 (열 및 행 추가/삭제)

6.1 새로운 열 추가

df["직업"] = ["개발자", "디자이너"]

6.2 특정 열 삭제

df.drop(columns=["직업"], inplace=True)

6.3 새로운 행 추가

df.loc[len(df)] = ["강감찬", 50, "경주"]

7. 데이터 병합 및 결합

7.1 두 개의 데이터프레임 합치기 (concat)

df1 = pd.DataFrame({"이름": ["홍길동", "이순신"], "나이": [30, 45]})
df2 = pd.DataFrame({"이름": ["강감찬"], "나이": [50]})
df = pd.concat([df1, df2], ignore_index=True)
print(df)

7.2 공통 열 기준으로 병합 (merge)

df1 = pd.DataFrame({"이름": ["홍길동", "이순신"], "나이": [30, 45]})
df2 = pd.DataFrame({"이름": ["홍길동", "이순신"], "도시": ["서울", "부산"]})
merged_df = pd.merge(df1, df2, on="이름")
print(merged_df)

8. 실전 예제: Pandas를 활용한 데이터 분석

아래는 데이터 처리와 분석을 결합한 예제입니다.

df = pd.read_csv("sales_data.csv")

# 날짜 데이터를 datetime 타입으로 변환
df["날짜"] = pd.to_datetime(df["날짜"])

# 월별 매출 합계 계산
df["월"] = df["날짜"].dt.month
monthly_sales = df.groupby("월")["매출"].sum()
print(monthly_sales)

9. 결론

Pandas는 데이터 분석에서 필수적인 라이브러리이며, 데이터를 쉽게 로드하고 변환하며 분석할 수 있도록 도와줍니다. 본 포스팅에서는 Pandas의 기본적인 기능을 다뤘으며, 실전에서 바로 활용할 수 있는 다양한 예제를 소개했습니다.

다음 포스트에서는 csv 파일을 활용해서 다룬 내용을 적용해 보겠습니다!

728x90
반응형