← 목록으로
단계 01

Python 기초 튜토리얼

변수·자료구조·제어문·함수·파일 입출력 등 데이터 처리에 필요한 Python 핵심 문법.

학습 순서

순서주제핵심
1변수와 자료형숫자, 문자열, 참/거짓
2리스트와 딕셔너리여러 값을 담는 두 가지 방법
3조건문과 반복문if, for
4함수코드를 이름 붙여 재사용
5파일 읽고 쓰기CSV 열기

파이썬을 처음 본다면 위 다섯 가지만 알면 이 수업을 따라올 수 있습니다.

이 수업에서 자주 나오는 모양

리스트 안에 딕셔너리 — "표" 데이터의 기본

sales = [
    {"region": "Seoul", "amount": 120},
    {"region": "Busan", "amount": 80},
    {"region": "Seoul", "amount": 50},
]

for row in sales:
    print(row["region"], row["amount"])

엑셀 표 한 줄이 딕셔너리 하나, 표 전체가 리스트라고 생각하면 됩니다.

지역별 합계 구하기

이 수업 전체를 관통하는 질문이 "무엇별로 얼마인가" 입니다. 순수 파이썬으로 하면 이렇게 됩니다.

totals = {}
for row in sales:
    region = row["region"]
    totals[region] = totals.get(region, 0) + row["amount"]

print(totals)   # {'Seoul': 170, 'Busan': 80}

다음 단계(Pandas)에서는 이걸 한 줄로 줄입니다. Spark에서도 모양만 다를 뿐 같은 일입니다.

CSV 파일 읽기

import csv

with open("data.csv", newline="", encoding="utf-8") as f:
    for row in csv.DictReader(f):
        print(row["name"], row["score"])

DictReader를 쓰면 한 줄이 딕셔너리로 들어옵니다.

조건에 맞는 것만 고르기

big = []
for row in sales:
    if row["amount"] >= 100:
        big.append(row)

같은 걸 한 줄로 쓰는 방법(컴프리헨션)도 있습니다. 읽을 줄만 알면 됩니다.

big = [row for row in sales if row["amount"] >= 100]

연습

  1. 학번·이름·점수가 든 CSV를 읽어서 평균 점수를 출력
  2. 점수가 80 이상인 학생만 골라 출력
  3. 위 두 작업을 함수로 만들어보기

다음 단계(Pandas)에서는 위 작업을 코드 2~3줄로 줄이는 방법을 배웁니다.