2차원 리스트에 열 이름 설정하기

30 P
QUESTION 08 #286
2차원 리스트로 데이터프레임을 생성할 때 각 열에 '이름', '국어', '수학'이라는 제목을 붙이려고 합니다. 빈칸을 채워보세요.
main.py
import pandas as pd

# 성적 데이터
data = [
    ['민수', 90, 85], ['지우', 85, 90], ['연아', 100, 85], 
    ['호준', 70, 60], ['해린', 95, 100]
]

# 데이터와 함께 열 이름을 지정합니다.
df = pd.DataFrame(data, =['이름', '국어', '수학'])

print(df)
실행 결과 예시
   이름   국어   수학
0  민수   90   85
1  지우   85   90
2  연아  100   85
3  호준   70   60
4  해린   95  100
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

columns 옵션으로 열 이름 지정하기

2차원 리스트로 데이터프레임을 만들 때 columns 파라미터를 사용하면 각 열에 의미 있는 이름을 부여할 수 있습니다.

기본 문법

df = pd.DataFrame(data, columns=["열1", "열2", "열3"])

코드 분석

data = [
    ['민수', 90, 85],
    ['지연', 85, 90],
    ['우수', 100, 85],
    ['현준', 70, 60],
    ['해린', 95, 100]
]

df = pd.DataFrame(data, columns=['이름', '국어', '수학'])

columns 미지정 vs 지정

columns 미지정:           columns 지정:
      0    1    2           이름   국어   수학
0   민수   90   85    →   0  민수   90   85
1   지연   85   90    →   1  지연   85   90

주의사항

상황 결과
열 개수와 columns 개수가 같음 정상 작동
열 개수와 columns 개수가 다름 오류 발생
# ❌ 데이터는 3열인데 columns가 2개 → 오류!
pd.DataFrame(data, columns=['이름', '국어'])

# ✅ 반드시 개수를 맞춰야 합니다
pd.DataFrame(data, columns=['이름', '국어', '수학'])

딕셔너리 방식과 비교

# 딕셔너리: Key가 곧 열 이름 (columns 불필요)
pd.DataFrame({"이름": [...], "국어": [...]})

# 리스트: columns로 별도 지정 필요
pd.DataFrame([[...], [...]], columns=["이름", "국어"])

💡 핵심: 리스트 방식은 columns 파라미터로, 딕셔너리 방식은 Key로 열 이름이 결정됩니다.