Growth Marketing/GM4

[TIL-260403] 멋쟁이사자처럼 부트캠프 그로스마케팅 4기 - 데이터분석 개론 day18

pamsyra 2026. 4. 3. 18:30
▼오늘 배운 사항들
1. 파이썬 - 반복문 개념 : range, zip, if 필터
2. 파이썬 - 반복문 활용 : 누적합계,  append, best roas, break, continue
3. 파이썬 - 함수 : def - return
4. Pandas - 설치 및 데이터 마운트, 데이터 파악, 기본 통계 추출

 

TODAY IS 파이썬과 판다스의 실습실습실습 끝이 없는 실습날

그래서 필기랄게 없다 그냥 VS에 적었다

Part 1. 파이썬 - 반복문 for

  • 자동화를 위해 반복문을 사용
    = 리스트에 있는 것들을 하나씩 꺼내서, 같은 작업을 반복해
  • ex. for c in channels :
                 print(c)
    - for = 반복을 시작한다
    - c = 리스트 값을 담는 임시 상자명
    - in = 이 리스트에서 꺼낸다
    - channels = 반복할 대상 리스트
    - : = 반복 내용 시작
    - print = 출력
    • 패턴 
      1. range : 반복할 숫자 범위 지정
      2. len() : 리스트의 길이 (=항목 개수)
      3. zip : 두 개 이상의 리스트를 묶어서 꺼냄

 

  • 자주쓰는 기법
    1. 누적합계 : 전체 광고비 더하기
    - total 값 0으로 리셋 후 출력
    2. append : 리스트에 결과 모으기
    - sum / mean / max / min / count
    3. 최댓값 캠페인 찾기
    - best_roas 변수 사용
    - 이해 안됐는데 도움을 받아 이해 완 → max는 함수고 best_roas는 변수, best_roas를 찾는것과 max 값은 다른 구조 잊지말기
    4. break : 조건 만족 시 즉시 멈춤
    5. continue : 해당 항목 건너뛰기

누적합계 / append - 아직 왜인지 잘 모르겠음
최댓값 캠페인
break / continue - 기억 안남ㅋ

 

더보기

[실습] CPA 8000원 이하인 캠페인만 출력하기

  • 와 분명 이해 잘간다~하고 코드 짜고, 응용까지 혼자 했는데 지금보니 엥입니다?

 

 


Part 2. 파이썬 - 함수

  • 함수 한 번 만들고, 숫자만 바꿔서 사용하기
  • 함수 구조
    def 함수를 정의한다
    calc_ctr 함수 이름 (자유)
    clicks, impressions 매개변수 — 함수가 받을 재료(입력값)
    : 함수 내용 시작
    return 계산 결과 
  • 함수 단계 : 정의-호출(result)
    - 호출하지 않으면 실행되지 않음
# ① 정의 — "이런 함수를 만들겠다"
def calc_ctr(clicks, impressions):
    return clicks / impressions * 100

# ② 호출 — "지금 이 함수를 실행해라"
result = calc_ctr(2210, 85000)
print(result)   # 2.6

 

  • 함수를 metrics로 묶는 것도 활용

 

[실습]문제 10개

  • 내가 실습한 코드와 정답 비교하기. 중간 중간 막힐 때마다 ai한테 물어봐서 배우는 중이다. f""썼으면 그 안에는 '써야한다. 컴퓨터가 헷갈림

 


Part 3. Pandas

  • VS에서 판다스 쓰려면, terminal 가서 판다스 설치해야함(from.gemini)
  • df = pd.read_csv("파일경로.csv", encoding="utf-8-sig")
  • VS에서는 python과 동일한 폴더에 파일을 폴더링하면 됨
  • 코랩에서는 파일 → 데이터마운트 → 경로 복사해서 붙여넣기

 

[데이터 탐색 순서]

  • df.shape - 괄호 없는 거 주의
  • df.head() / df.tail()
  • df.dtypes - 괄호 없는 거 주의
  • df.describe()
더보기
  • count : 데이터 개수
  • mean : 평균
  • std : 표준편차, 값들이 얼마나 퍼져 있는지
  • min : 최솟값
  • 25% : 1사분위수, 아래 25% 지점
  • 50% : 중앙값
  • 75% : 3사분위수, 아래 75% 지점
  • max : 최댓값
  • df.isnull().sum() = 결측값 확인, 결측값 있을 시 계산 오류 발생

[컬럼 다루기]

  • df["cost"].sum()
  • df["cost"].mean()
  • df["cost"].max()
  • df["cost"].min()
  • df["cost"].count()  = 행 수
  • df["channel"].unique() = 유니크 값 목록(많이 쓰는거, 도대체 채널 몇개 어디 운영하는거야 알아볼 때)
  • df["channel"].nunique() = 유니크 값 개수
  • df["channel"].value_counts() = 값 별 개수

[파생 컬럼 추가]

  • 판다스를 통해 컬럼 추가 생성이 가능함

 

[pandas 기초 실습]

  • 너무 복잡하게 생각하는 나..아무튼 해설과 비교하 오답노트
  • 문제 : 컬럼 목록 확인
    - 나는 컬럼의 숫자 통계까지 다보는 describe로 했는데, 목록만 확인하려면 그냥 columns를 넣으면 됐다

 

  • 문제 : 컬럼별 평균/최대/최소 한 번에 출력하기
    - describe를 쓰면 해당 값들이 출력되는 것 인지하기
    - df다음에 리스트해서 출력값들 나열하는 것 인지하기
    - .round를 사용하면 더러운 숫자 짧게 가능(괄호 안은 소수점)
    - 나는 4개에 대해서 하나하나 써야하나 고민했다가 너무 길어지길래 딕셔너리로 묶어서 for 반복문을 쓰자 하고 반복문 썼다. 심지어 제미나이랑 얘기해서 한 건데도 되게 비효율적이다

 

더보기

하 해설 볼 때마다 엄청 효율적이라서 새삼 새롭다 아~ 저렇게 하면~~