-
ChatGPT로 데이터 분석 공부하기 #13 PandasChatGPT로 공부하기/데이터 분석 2024. 11. 15. 21:20

Pandas는 Python에서 데이터 분석과 조작에 널리 사용되는 라이브러리로, 표 형태의 데이터(DataFrame)를 처리하는 데 매우 유용합니다. 데이터를 읽고 쓰는 기능부터, 필터링, 집계, 시각화까지 다양한 기능을 제공합니다.
1. Pandas의 주요 데이터 구조
Pandas는 두 가지 주요 데이터 구조를 사용합니다:
- Series: 1차원 데이터 구조 (1개의 열 또는 배열)
- DataFrame: 2차원 데이터 구조 (표 형태)
(1) Series
Series는 데이터와 인덱스를 가진 1차원 데이터입니다.
import pandas as pd # Series 생성 data = [10, 20, 30, 40] series = pd.Series(data, index=["a", "b", "c", "d"]) print(series)출력:
a 10 b 20 c 30 d 40 dtype: int64
(2) DataFrame
DataFrame은 행과 열로 구성된 2차원 데이터입니다.
# DataFrame 생성 data = { "Name": ["Alice", "Bob", "Carol"], "Age": [25, 30, 27], "City": ["New York", "Los Angeles", "Chicago"] } df = pd.DataFrame(data) print(df)출력:
Name Age City 0 Alice 25 New York 1 Bob 30 Los Angeles 2 Carol 27 Chicago2. 데이터 읽기 및 쓰기
(1) 파일 읽기
Pandas는 다양한 파일 형식을 읽어올 수 있습니다.
# CSV 파일 읽기 df = pd.read_csv("data.csv") # Excel 파일 읽기 df = pd.read_excel("data.xlsx")(2) 파일 쓰기
분석 결과를 저장할 때 사용합니다.
# CSV 파일로 저장 df.to_csv("output.csv", index=False) # Excel 파일로 저장 df.to_excel("output.xlsx", index=False)3. 데이터 확인 및 요약
(1) 데이터 구조 확인
print(df.head()) # 상위 5개 행 출력 print(df.tail()) # 하위 5개 행 출력 print(df.info()) # 데이터 요약 정보 print(df.describe()) # 통계 요약 print(df.shape) # 행, 열 개수 print(df.columns) # 열 이름4. 데이터 선택
(1) 열 선택
print(df["Name"]) # 단일 열 선택 print(df[["Name", "Age"]]) # 여러 열 선택(2) 행 선택
print(df.loc[0]) # 행 번호로 선택 (라벨 기반) print(df.iloc[0]) # 행 위치로 선택 (정수 기반)5. 데이터 필터링
조건에 맞는 데이터만 선택합니다.
# 조건을 이용한 필터링 print(df[df["Age"] > 25]) # Age가 25보다 큰 행 선택6. 데이터 추가 및 삭제
(1) 열 추가
df["Salary"] = [50000, 60000, 70000] # 새 열 추가(2) 열 삭제
df.drop("Salary", axis=1, inplace=True) # Salary 열 삭제(3) 행 삭제
df.drop(0, axis=0, inplace=True) # 첫 번째 행 삭제7. 데이터 정렬
(1) 행 정렬
df.sort_values(by="Age", ascending=False, inplace=True) # Age 기준 내림차순 정렬(2) 열 정렬
df.sort_index(axis=1, inplace=True) # 열 이름 기준 정렬8. 데이터 집계 및 그룹화
(1) 데이터 요약
print(df["Age"].mean()) # 평균 계산 print(df["Age"].sum()) # 합계 계산 print(df["Age"].max()) # 최대값(2) 그룹화
grouped = df.groupby("City")["Age"].mean() print(grouped)- City별로 Age의 평균을 계산합니다.
9. 결측치 처리
(1) 결측치 확인
print(df.isnull().sum()) # 결측치 개수 확인(2) 결측치 처리
df.fillna(0, inplace=True) # 결측치를 0으로 채움 df.dropna(inplace=True) # 결측치가 있는 행 삭제10. 데이터 변환
(1) 데이터 타입 변환
df["Age"] = df["Age"].astype("float") # Age를 실수형으로 변환(2) 데이터 값 변환
df["Age"] = df["Age"].apply(lambda x: x * 2) # Age 값을 2배로 변환11. 데이터 병합
(1) 두 DataFrame 합치기
df1 = pd.DataFrame({"A": [1, 2], "B": [3, 4]}) df2 = pd.DataFrame({"A": [5, 6], "B": [7, 8]}) result = pd.concat([df1, df2])(2) 조인(merge)
df1 = pd.DataFrame({"ID": [1, 2], "Name": ["Alice", "Bob"]}) df2 = pd.DataFrame({"ID": [1, 2], "Salary": [50000, 60000]}) merged = pd.merge(df1, df2, on="ID")12. 실무에서 Pandas의 활용 예제
(1) 매출 데이터 분석
sales = pd.DataFrame({ "Month": ["Jan", "Feb", "Mar"], "Revenue": [10000, 15000, 20000] }) print("총 매출:", sales["Revenue"].sum()) # 매출 합계(2) 고객 데이터 필터링
customers = pd.DataFrame({ "Name": ["Alice", "Bob", "Carol"], "Age": [25, 35, 45] }) print(customers[customers["Age"] > 30]) # 30세 이상 고객
Pandas는 데이터를 효율적으로 다루기 위한 강력한 도구입니다. 데이터를 정리하고 분석하며, 다양한 포맷으로 저장하는 작업에서 필수적으로 사용됩니다. Pandas의 기본을 잘 익히면 데이터 분석의 기초를 탄탄히 다질 수 있습니다.
'ChatGPT로 공부하기 > 데이터 분석' 카테고리의 다른 글
ChatGPT로 데이터 분석 공부하기 #15 A/B 테스트 (1) 2024.11.18 ChatGPT로 데이터 분석 공부하기 #14 DW/DM 설계 및 구축 (3) 2024.11.18 ChatGPT로 데이터 분석 공부하기 #12 Python 기초문법 (3) 2024.11.15 ChatGPT로 데이터 분석 공부하기 #11 윈도우함수 (5) 2024.11.15 ChatGPT로 데이터 분석 공부하기 #10 서브쿼리 (2) 2024.11.15