그로스 마케팅/학습 기록

[멋쟁이사자처럼 부트캠프] 그로스 마케팅 5기 _ day13 복붙하다 엑셀 멈춘 마케터 필독, Python Pandas 10분 정복

shushu26 2026. 5. 27. 17:13

 

퍼포먼스 마케팅이나 그로스 마케팅 실무를 하다 보면 매일 같이 마주하는 장벽이 있습니다.

바로 '데이터 정제(Data Cleaning)'입니다.

 

매체별(Meta, Google, 카카오 등)로 따로 다운로드한 CSV 파일들을 합치고,

엑셀 vlookup 함수를 복사 붙여넣기 하다가 수식이 깨지거나 엑셀이 멈춰버린 경험,

마케터라면 누구나 한 번쯤 있을 텐데요.

 

💡 데이터를 '정리'하는 마케터 vs 데이터를 '흐르게' 만드는 마케터
과거에는 마케터가 엑셀로 데이터를 손수 정리했다면, 지금 시장에서 몸값이 높은
그로스 마케터들은 Python의 Pandas(판다라이브러리를 활용해 데이터 흐름을 자동화합니다.

 

 

오늘 글에서는 마케터의 데이터 분석 효율을 10배 이상 끌어올려 줄

Pandas의 핵심 구조와 실무 핵심 함수를 10분 만에 마스터할 수 있도록 정리해 드립니다.

 


 

1. Pandas의 두 가지 핵심 뼈대: Series vs DataFrame

 

판다스를 다룰 때 이것 딱 두 가지만 기억하면 됩니다. 바로 시리즈(Series)와 데이터프레임(DataFrame)입니다.

 

  • Series: 1차원 데이터 집합 (쉽게 말해 엑셀의 '딱 하나의 열(Column)')
  • DataFrame: 2차원 표 형태의 데이터 집합 (우리가 매일 보는 '엑셀 시트 전체')

 

① Series(시리즈) 다루기

시리즈는 인덱스(Index)와 값(Value)으로 구성됩니다. 광고 매체별 인구수를 판다스 시리즈로 만드는 간단한 예시입니다.

Python
 
import pandas as pd

# 인덱스를 지정하여 Series 생성 (매체별 유입 인구)
population = pd.Series([990, 340, 280, 240],
                       index=["서울", "부산", "인천", "대구"])

# 데이터에 이름표 달아주기 (지표 표준화)
population.name = "인구"
population.index.name = "도시"
print(population)

 

실무에서는 가끔 특정 매체의 광고비가 누락되거나 변동될 때가 있죠?

판다스에서는 데이터 추가, 변경, 삭제가 단 한 줄로 가능합니다.

 
population["부산"] = 350  # 데이터 변경
population["대전"] = 240  # 데이터 추가 (없는 인덱스 활용)
del population["서울"]     # 데이터 삭제

 

② DataFrame(데이터프레임) 생성하기

 

엑셀 시트와 같은 2차원 표를 만들 때는 두 가지 방식(딕셔너리, 리스트)을 씁니다.

딕셔너리 방식은 Key 값이 자동으로 컬럼명(열 이름)이 된다는 점이 실무에서 아주 편리합니다.

Python
 
# 딕셔너리로 2010년, 2015년 도시별 인구 데이터프레임 만들기
data = {
    "서울": [990, 960],
    "부산": [340, 330],
    "인천": [280, 260],
    "대구": [240, 230]
}
ind = ["2015", "2010"]
population_df = pd.DataFrame(data, index=ind)

# .T (전치) 함수를 쓰면 행과 열을 가볍게 뒤바꿀 수 있습니다! (엑셀의 행/열 바꿈 기능)
population_df = population_df.T

 

2. 데이터프레임 수정 및 행/열 삭제 (drop 함수)

 

매체 리포트를 합치다 보면 필요 없는 컬럼(예: 불필요한 캠페인 ID 등)을

지워야 할 때가 많습니다.판다스에서는 del과 drop()을 사용합니다.

Python
 
# 새로운 컬럼 추가
population_df["2005"] = [930, 320, 250, 220]

# drop 함수로 행 또는 열 삭제 (axis 축 설정이 핵심!)
# axis=0 은 행(가로) 삭제, axis=1 은 열(세로) 삭제
population_df.drop("대구", axis=0, inplace=True)  # '대구' 행 삭제
population_df.drop("2005", axis=1, inplace=True) # '2005' 열 삭제

 

💡 그로스 마케터 꿀팁:

inplace=True 옵션을 주면, 변경 사항을 변수에 새로 저장하지 않고

원본 데이터프레임에 즉시 반영해 줍니다.

리포트 자동화 코드를 짤 때 아주 자주 쓰입니다.

 

 

3. 판다스 연산의  편리함 (시리즈/데이터프레임 연산)

엑셀에서는 전월 대비 당월 광고비 증감을 보려면 수식을 일일이 드래그해서 복사해야 하죠.

판다스는 데이터프레임끼리 빼거나 더하면 알아서 같은 인덱스 매칭 후 연산이 끝납니다.

Python
 
pop1 = pd.Series([990, 340, 280, 240], index=["서울","부산","인천","대구"])
pop2 = pd.Series({"서울":960, "부산":330, "인천":260, "대전":230})

# 인덱스가 같은 값끼리 자동으로 연산됨!
print(pop1 - pop2)

이때 한쪽에만 존재하는 인덱스(예: 대구, 대전)는 계산할 수 없기 때문에 NaN(Not a Number)이라는 비어있는 값으로 처리됩니다.

 

4. 내가 원하는 데이터만 쏙쏙 뽑아내는 인덱싱 & 슬라이싱

로데이터(Raw Data)에서 특정 조건의 성과만 필터링하는 능력은 마케터에게 필수입니다.

CSV 파일을 불러오는 것부터 조건 필터링까지의 실무 흐름입니다.

Python
 
# 성과 데이터(CSV) 불러오기 (한글 깨짐 방지를 위해 encoding='euc-kr' 설정)
score_data = pd.read_csv("data/score.csv", encoding="euc-kr", index_col="과목")

# 1. 특정 컬럼(열)만 가져오기
score_data["1반"]  # 시리즈 형태로 반환
score_data[["1반", "3반"]]  # 대괄호를 두 번 쓰면 데이터프레임 형태로 반환

# 2. loc, iloc 인덱서 활용하기 (행과 열을 동시에 지정)
# loc는 '문자 명칭' 기반, iloc는 '숫자 번호' 기반 접근
score_data.loc["국어":"사회", "2반":"3반"]
score_data.iloc[2:4, 1:3]

 

 

5. 실무 리포트 작성을 위한 판다스 필수 내장 함수

 

판다스에는 데이터 요약 보고서를 3초 만에 만들어주는 강력한 함수들이 내장되어 있습니다.

Python
 
# 1. 정렬하기 (sort_values)
score_data.sort_values(by="3반", ascending=False)  # 3반 성과 기준 내림차순 정렬

# 2. 합계와 평균 구하기 (sum, mean)
score_data["총합"] = score_data.sum(axis=1)  # 과목별 가로 합계를 구해서 '총합' 컬럼 추가
score_data["평균"] = score_data.loc[:, "1반":"4반"].mean(axis=1)  # 반별 평균 계산

# 3. 데이터프레임의 전체 요약 정보 보기 (info)
score_data.info()  # 데이터 타입, 결측치(빈값) 존재 여부를 한눈에 파악

 

⚠️ 리포트가 터지는 주범, 결측치(NaN) 처리하기

 

데이터를 병합하다 보면 크롤링 오류나 매체 통신 오류로 값이 비어있는 결측치가 생깁니다.

이대로 연산하면 전체 리포트 지표가 깨집니다.

Python
 
df_test.isnull()               # 비어있는 값이 어디인지 True/False로 반환
df_test.fillna("데이터누락")     # 비어있는 값을 특정 텍스트나 0으로 채우기
df_test.dropna()               # 비어있는 값이 포함된 행을 과감히 삭제

 

마케터가 파이썬(판다스)를 배워야 하는 이유

 

 

엑셀로 2시간 걸려 필터링하고, 수식 걸고, 복사 붙여넣기 하던 작업이 Python Pandas를 사용하면 단 10줄의 코드로 자동화됩니다. 처음엔 낯설 수 있지만, 판다스의 구조를 이해하는 것이 단순 반복 노동을 하는 운영 마케터에서

데이터 기반 의사결정을 하는 진짜 그로스 마케터로 성장하는 첫걸음이 될 것입니다.

 


 

🦁 데이터로 증명하는 그로스마케터가 되고 싶다면?

 

🦁 내 성장의 기회, 멋쟁이사자처럼

데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화

나에게 맞는 실무 커리큘럼 확인하기 →