리스트로 데이터프레임 생성하기

30 P
QUESTION 07 #285
2차원 리스트를 활용하여 판다스의 데이터프레임을 생성하는 코드를 완성하세요.
main.py
import pandas as pd

# 5명의 학생 성적 데이터입니다.
data = [
    ['민수', 90, 85], ['지우', 85, 90], ['연아', 100, 85], 
    ['호준', 70, 60], ['해린', 95, 100]
]

# 리스트 데이터를 데이터프레임으로 변환합니다.
df = pd.(data)

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

2차원 리스트로 데이터프레임 만들기

딕셔너리 외에 2차원 리스트(리스트 안의 리스트)로도 데이터프레임을 만들 수 있습니다.

딕셔너리 방식 vs 리스트 방식

# 방법 1: 딕셔너리 (열 중심)
pd.DataFrame({
    "이름": ["민수", "지연"],
    "국어": [90, 85]
})

# 방법 2: 2차원 리스트 (행 중심)
pd.DataFrame([
    ["민수", 90],
    ["지연", 85]
])
비교 딕셔너리 방식 리스트 방식
데이터 입력 열(세로) 단위 행(가로) 단위
열 이름 Key가 열 이름 자동 숫자 (0, 1, 2...)
가독성 열 구조 파악 쉬움 행 데이터 파악 쉬움

코드 분석

data = [
    ['민수', 90, 85],   # ← 행 0
    ['지연', 85, 90],   # ← 행 1
    ['우수', 100, 85],  # ← 행 2
    ['현준', 70, 60],   # ← 행 3
    ['해린', 95, 100]   # ← 행 4
]
df = pd.DataFrame(data)

결과

      0    1    2     ← 열 이름이 숫자!
0   민수   90   85
1   지연   85   90
2   우수  100   85
3   현준   70   60
4   해린   95  100

열 이름이 0, 1, 2로 표시되어 데이터의 의미를 알기 어렵습니다.

해결: columns 옵션으로 열 이름 지정

df = pd.DataFrame(data, columns=['이름', '국어', '수학'])
   이름   국어   수학    ← 의미 있는 열 이름!
0  민수   90   85
1  지연   85   90
...

💡 2차원 리스트로 만들 때는 columns 옵션으로 열 이름을 꼭 지정해주세요.