데이터셋에서 0번 인덱스 추출

40 P
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)
실행 결과 예시
[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]

리스트 컴프리헨션은 파이썬에서 데이터 전처리 시 가장 많이 사용되는 문법입니다.