
[ 데이터분석개론 ]
print 들여쓰기 하지 않기
.append = 리스트만 가능하다, 숫자 불가
반복문은 자동화의 첫 번째 원리
리스트 = [ ]
for 반복문
- for: 반복을 시작한다
- channel: 리스트에서 꺼낸 값을 담는 임시 상자
- in: 이 리스트에서 꺼낸다
- channles: 반복할 대상 리스트
- : 반복 내용 시작
for 다음은 반드시 들여쓰기 할 것!
range(): 숫자 범위를 자동으로 만들어주는 함수
len() = 리스트 길이(개수)
zip() = 두 개 이상의 리스트를 쌍으로 묶어서 꺼내준다
if조건: 원하는 것만 추려낼 수 있다
기법 ① 누적 합계 : 전체 광고비 더하기
costs = [450000, 920000, 280000, 600000, 380000]
total = 0 # ← 누적 변수를 0으로 초기화
for cost in costs:
total = total + cost # 하나씩 더하기
# 줄여서: total += cost
print(f"총 광고비: {total:,}원")
print(f"평균 광고비: {total / len(costs):,.0f}원")
total += cost
-> total = total + cost의 줄임 표현
기법 ② 리스트에 결과 모으기 : append
campaigns = ["봄 세일", "신규 유입", "리타겟팅", "브랜드", "여름"]
costs = [450000, 920000, 280000, 600000, 380000]
revenues = [1350000, 3680000, 560000, 480000, 1520000]
roas_results = [] # ← 빈 리스트로 시작
for i in range(len(campaigns)):
roas = revenues[i] / costs[i] * 100
roas_results.append(roas) # 결과를 리스트에 추가
print("ROAS 목록:", roas_results)
print(f"최고 ROAS: {max(roas_results):.0f}%")
print(f"최저 ROAS: {min(roas_results):.0f}%")
print(f"평균 ROAS: {sum(roas_results)/len(roas_results):.0f}%")
기법 ③ 최댓값 캠페인 찾기
campaigns = ["봄 세일", "신규 유입", "리타겟팅", "브랜드", "여름"]
roas_list = [300, 400, 200, 80, 400]
best_roas = 0
best_name = ""
for campaign, roas in zip(campaigns, roas_list):
if roas > best_roas: # 지금까지 최고보다 높으면
best_roas = roas # 기록 갱신
best_name = campaign # 이름도 갱신
print(f"최고 성과 캠페인: {best_name} (ROAS {best_roas}%)")
break #찾으면 즉시 반복 종료
contunue #해당 항목만 건너뛰기
[ 함수 ]
def: 함수를 정의한다
calc_ctr: 함수 이름
clicks, impressions: 매개변수
: 함수 내용 시작
return 계산 결과를 돌려준다
정의 - 이런 함수를 만들겠다
호출 - 지금 이 함수를 실행해라
[ pandas ]
pd.read_csv: 파일 클릭해서 열기
df[[""]]
import pandas as pd
print() - 데이터 출력
.head() 앞단 n개 출력
.tail() 뒤에서 n개 출력
df.shape 몇 행 몇 열인지
df.types - 컬럼 목록과 데이터 타입
df.describe() - 숫자 컬럼 기본 통계
count: 데이터 개수
mean: 평균
std: 표준편차
min: 최솟값
max:최댓값
sum: 합계
df.fillna(0) / df.dropna = 결측값 채우거나 제거
컬럼 하나 선택
df[""]
df[[""]]
&쓸 때는 각 조건을 반드시 ()로 감싸야 한다