-
[멋쟁이사자처럼 부트캠프 그로스 마케팅] 데이터 분석 개론 : Pandas (1)TIL 2025. 2. 10. 22:45
학습목표
- Pandas 데이터 로드와 기본 탐색
1. Pandas 데이터 구조
pip install pandas #설치 import pandas as pd #불러오기
- Series
#인덱스가 있는 1차원 데이터 구조 click_rates = pd.Series([0.05, 0.10, 0.15, 0.20], index=["A", "B", "C", "D"]) print(click_rates) #출력 결과 A 0.05 B 0.10 C 0.15 D 0.20 dtype: float64
- DataFrame
# 표와 같은 2차원 데이터 구조 data = { "Campaign": ["봄맞이 이벤트", "여름 할인", "가을 특별전"], "CTR": [0.12, 0.15, 0.08], "CR": [0.05, 0.07, 0.03] } df = pd.DataFrame(data) print(df) #출력 결과 Campaign CTR CR 0 봄맞이 이벤트 0.12 0.05 1 여름 할인 0.15 0.07 2 가을 특별전 0.08 0.03
2. Pandas 기능
- CSV 파일 불러오기
df = pd.read_csv("marketing_data.csv") df = pd.read_csv("marketing_data.csv", encoding="utf-8", delimiter=",") df = pd.read_csv("marketing_data.csv", names=["Campaign", "Sales", "Clicks", "Conversions", "Region"], header=0)
- Excel 파일로 저장
df.to_excel("output.xlsx", index=False)
- 데이터 조회 및 탐색
# 날짜 데이터를 datetime 형식으로 변환 df["날짜"] = pd.to_datetime(df["날짜"], errors="coerce") # 데이터 기본 정보 출력 df.info() # 상위 5개 데이터 확인 df.head() # 광고비가 300만원 이상인 데이터 조회 high_ad_cost = df[df["광고비(만원)"] >= 300] # 매출액이 5000만원 이상이고, 구매전환율이 5% 이상인 데이터 조회 high_sales_conversion = df[(df["매출액(만원)"] >= 5000) & (df["구매전환율(%)"] >= 5)] # 특정 날짜 범위 조회 (예: 2024년 1월 데이터) date_filtered = df[(df["날짜"] >= "2024-01-01") & (df["날짜"] <= "2024-01-31")] # 매출액 상위 10개 데이터 조회 top_10_sales = df.nlargest(10, "매출액(만원)") # 특정 행 조회 df.loc[3] # 3번째 행 조회 (라벨 기반 인덱스) df.iloc[3] # 3번째 행 조회 (정수 인덱스 기반) # 특정 열 조회 df["매출액(만원)"] df[["매출액(만원)", "광고비(만원)"]] # 여러 열 조회 df.loc[행번호, "열이름"] df.iloc[행번호, 열번호] # 여러 개도 가능 df.loc[[3, 5, 7], ["매출액(만원)", "광고비(만원)"]] df.iloc[[3, 5, 7], [2, 3]]
- 데이터 그룹화 groupby()
df.groupby("카테고리")["매출액(만원)"].sum() # 카테고리별 합계 df.groupby("카테고리")["매출액(만원)"].mean() # 카테고리별 평균 df.groupby("카테고리").agg({"매출액(만원)": "sum", "광고비(만원)": "mean"}) # 카테고리별 합계와 평균 df.groupby(["카테고리", "지역"])["매출액(만원)"].mean() # 카테고리&지역별 평균 df.groupby("카테고리")["매출액(만원)"].count() # 카테고리별 매출액 데이터의 개수
3. Basic Ecploration
df.shape # 데이터 크기 확인 df.columns # 모든 컬럼명 확인 df.info() # 데이터 정보 출력 df.dtypes # 각 컬럼의 데이터 타입 확인 df.head() # 상위 5개 행 df.tail() # 하위 5개 행 df.describe() # 숫자형 데이터의 기본 통계 (mean, std, min, max, 사분위수 분포) df[""].unique() # 특정 열의 고유 값들 df[""].value_counts() # 특정 열에 각 값이 등장하는 횟수 df.isnull().sum() # 결측값 개수
☞ 마케팅 예제 : colab GM4 파일
sql 보다가 파이썬 복습하니까 선녀 같다
'TIL' 카테고리의 다른 글
[멋쟁이사자처럼 부트캠프 그로스 마케팅] 데이터 분석 개론 : Pandas - SQL 연동 (2) (1) 2025.02.14 [멋쟁이사자처럼 부트캠프 그로스 마케팅] 데이터 분석 개론 : Pandas - SQL 연동 (2) 2025.02.13 [멋쟁이사자처럼 부트캠프 그로스 마케팅] 데이터 분석 개론 : SQL (2) (5) 2025.02.12 [멋쟁이사자처럼 부트캠프 그로스 마케팅] 데이터 분석 개론 : Pandas (2) (1) 2025.02.11 [멋쟁이사자처럼 부트캠프 그로스 마케팅] 데이터 분석 개론 : 파이썬 (0) 2025.02.09