PROGRESS
7 / 9
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
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)
HINT
힌트: Pandas에서 '표'를 뜻하는 단어인 DataFrame으로 써야 합니다.
실행 결과 예시
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 옵션으로 열 이름을 꼭 지정해주세요.