상세 컨텐츠

본문 제목

📘 PM의 데이터 분석을 위한 Python 학습 전략: 꼭 알아야 할 문법

데이터 분석 정보 모음

by Cool life good life 2025. 2. 18. 22:10

본문

반응형

안녕하세요! 저는 4년차 PM으로, 처음 Python을 시작할 때 "도대체 어디서부터 시작해야 하지?" 하는 고민을 정말 많이 했어요. 특히 개발자가 아닌 PM의 입장에서, 정말 필요한 것만 효율적으로 배우고 싶었죠.

이 글은 제가 직접 경험하고 깨달은 것들을 바탕으로, PM의 관점에서 Python을 어떻게 접근하면 좋을지 정리한 가이드입니다. 개발자처럼 깊이 있게 배울 필요 없이, PM으로서 꼭 필요한 부분만 집중적으로 다룰 거예요.

왜 PM에게 Python이 필요할까?

"PM인데 굳이 코딩을 배워야 하나요?" 처음에는 저도 이런 의문이 들었어요. 하지만 실무에서 일하다 보니, Python이 있고 없고의 차이가 정말 크다는 걸 깨달았습니다.

예를 들어볼까요?

  • 매주 월요일마다 엑셀로 하던 주간 리포트를 자동화했더니, 4시간 걸리던 작업이 5분으로 줄었어요
  • 사용자 행동 데이터를 직접 분석해서 인사이트를 도출하니, 개발팀과의 소통이 훨씬 수월해졌죠
  • A/B 테스트 결과를 시각화해서 보여주니, 의사결정권자들을 설득하기가 한결 쉬워졌습니다

 

PM이 꼭 알아야 할 Python 기본기

개발자처럼 모든 걸 알 필요는 없어요. PM에게 정말 필요한 기본기는 다음과 같습니다:

1. 변수와 자료형: 데이터를 다루는 기본

가장 먼저 배워야 할 건 데이터를 저장하고 다루는 방법이에요. 특히 아래 자료형들은 반드시 알아두세요:

  • str: 텍스트 데이터 (예: 사용자 이름, 제품명)
  • list: 여러 데이터를 순서대로 저장 (예: 월별 매출)
  • dict: 키-값 쌍으로 데이터 저장 (예: 사용자 정보)

# 변수와 자료형 예제

# 변수와 자료형 예제
name = "EunBin"
age = 25
skills = ["Python", "Project Management", "Data Analysis"]

print(f"Name: {name}, Age: {age}")
print(f"Skills: {skills}")

 

또한, 사용자 정보를 저장할 때는 딕셔너리를 사용하면 한눈에 보기 좋아요.

 

user_info = {
    "name": "EunBin",
    "age": 25,
    "skills": ["Python", "PM", "Data Analysis"]
}
print(user_info)

 

 

2. 조건문 (if), 반복문 (for, while): 데이터 필터링 및 자동화

"매출이 200 이상인 날만 추려서 보고서를 만들고 싶다?"
이럴 때는 조건문과 반복문을 사용하면 정말 편리해요.

  • 조건문 (if, elif, else): 특정 조건에 따라 다른 작업을 실행.
  • 반복문 (for, while): 데이터를 반복 처리하거나 자동화할 때 사용.

예를 들어, 매출이 200 이상인 날만 추려보는 코드는 이렇게 작성할 수 있습니다.

revenue = [120, 250, 300, 150, 500]
high_revenue = []

for value in revenue:
    if value > 200:
        high_revenue.append(value)

print(f"High Revenue Days: {high_revenue}")

 

이 코드를 사용하면 매출이 높은 날만 자동으로 필터링할 수 있어요.
저는 이 기능을 주간 리포트 작성할 때 유용하게 사용했습니다.

 

 

3. 함수 정의와 호출: 반복 작업을 쉽게 관리

PM은 반복적인 작업을 자주 하게 됩니다. 예를 들어, 여러 제품의 매출 총합을 계산하거나,
프로젝트별 성과를 정리하는 일을 반복할 수 있는데요.
이때 함수를 사용하면 훨씬 효율적입니다.

  • 함수 (def): 반복 작업을 모듈화하여 가독성과 재사용성을 높여줍니다.

예를 들어, 매출 총합을 계산하는 함수를 만들면 이렇게 할 수 있습니다.

def calculate_total(sales_list):
    total = sum(sales_list)
    return total

monthly_sales = [120, 250, 300, 150, 500]
print(f"Total Revenue: {calculate_total(monthly_sales)}")

 

이렇게 만들어두면 다른 데이터에도 재사용할 수 있어요.
저는 여러 프로젝트의 데이터를 비교 분석할 때 이 방법이 유용했습니다.

 

4. 클래스 기초: 데이터 모델링 및 구조화

클래스는 처음엔 어려울 수 있지만, 이해해두면 복잡한 데이터를 논리적으로 구조화할 수 있습니다.
특히 제품 정보, 사용자 정보 같은 여러 속성을 가진 데이터를 다룰 때 유용합니다.

 

class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price
    
    def display_info(self):
        print(f"Product: {self.name}, Price: {self.price}")

item = Product("Laptop", 1200)
item.display_info()

 

이렇게 하면 제품별 데이터를 객체화해서 다룰 수 있습니다.
저는 여러 제품의 가격 변동을 추적할 때 유용하게 사용했어요.

 

5. 파일 입출력: 데이터 저장 및 불러오기

PM은 리포트 작성, 로그 저장, 데이터 백업 등을 자주 하죠.
이때 파일 입출력을 알면 훨씬 편리합니다.

  • open(), read(), write(), with 구문 사용.
  • CSV 파일 입출력 및 로그 저장 등에 유용.
# 파일 저장
with open("sales_data.txt", "w") as file:
    file.write("Date, Revenue\n2024-01-01, 100\n2024-01-02, 200")

# 파일 불러오기
with open("sales_data.txt", "r") as file:
    data = file.read()
    print(data)

 

 

다음 단계는?

이제 기본 문법을 익혔다면, 다음 단계는 Pandas, Matplotlib, Numpy 같은
데이터 분석 라이브러리를 배워서 데이터 인사이트 도출에 활용하면 됩니다. (2편에서 계속)

반응형