PROGRESS
8 / 17
단원
데이터 구조화: AI 전처리 17
데이터의 규칙: 예측 로직 14
옷의 시너스: 판단 로직 1
예와 아니오: 판단 로직 6
닮은꼴 찾기: 관계 로직 7
최적의 경로: 강화 로직 7
층층이 지능: 신경망 로직 7
전체 목록
QUESTION 08 #331
리스트 컴프리헨션을 이용하여 전체 데이터셋에서 기온 데이터(0번 인덱스)만 추출해 X_temp 리스트를 만들어보세요.
main.py
dataset = [[20, 70, 50], [25, 80, 80], [30, 85, 110]]
X_temp = [row[] for in dataset]
print(X_temp)
HINT
반복문 for에서 리스트 dataset의 각 행을 의미하는 변수 row가 사용됩니다. 리스트의 인데스는 0부터 시작합니다.
실행 결과 예시
[20, 25, 30]
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
💡 리스트 컴프리헨션의 효율성
머신러닝에서는 수천, 수만 개의 데이터를 처리해야 합니다. 이때 for 루프와 append()를 사용하는 것보다 리스트 컴프리헨션을 사용하면 코드가 훨씬 간결해지고 실행 속도도 빨라집니다.
for문 방식 vs 리스트 컴프리헨션
for문 방식 (4줄):
X_temp = []
for row in dataset:
X_temp.append(row[0])
리스트 컴프리헨션 (1줄):
X_temp = [row[0] for row in dataset]
두 코드는 완전히 동일한 결과를 만듭니다.
구조 이해하기
[추출할 값 for 반복변수 in 원본데이터]
↓ ↓ ↓
row[0] row dataset
| 구성 요소 | 역할 | 이 문제에서 |
|---|---|---|
| 추출할 값 | 각 반복에서 리스트에 담길 값 | row[0] (기온) |
| 반복변수 | 원본에서 하나씩 꺼내는 변수 | row |
| 원본데이터 | 순회할 리스트 | dataset |
다양한 활용 예시
# 기온만 추출
temps = [row[0] for row in dataset]
# 습도만 추출
humids = [row[1] for row in dataset]
# 판매량만 추출
sales = [row[-1] for row in dataset]
# 조건부 추출: 기온 25도 이상만
hot_temps = [row[0] for row in dataset if row[0] >= 25]
리스트 컴프리헨션은 파이썬에서 데이터 전처리 시 가장 많이 사용되는 문법입니다.