해결된 질문
작성
·
235
0
cols = ['neighbourhood_group', 'neighbourhood', 'room_type']
from sklearn.preprocessing import LabelEncoder
for col in cols:
le = LabelEncoder()
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
train[cols]
마지막에 train[col]이 아니고 train[cols]에 담긴게 이해가 안돼요
cols에서 꺼내서 col에 담았고.. for문 아래에도 col에 담았는데 왜 최종적으로는 cols에 담긴거예요??
답변 1
0
train[cols]
에서 cols
는 리스트입니다.
이 리스트에는 변환하고자 하는 열의 이름이 여러 개 포함되어 있죠. 여기서는 'neighbourhood_group'
, 'neighbourhood'
, 'room_type'
이렇게 세 개의 열 이름이 들어있습니다.
for col in cols:
구문에서, cols
리스트의 각 항목을 반복하면서, col
변수에 그 항목을 담습니다.
여기까진 이해가 된 것 같아요!
col
변수에 담은 것이 아니라 train[col]
에 담은 것이에요!
바꿔 말하면 첫번째 col인 train['neighbourhood_group']
컬럼에 인코딩된 데이터가 담긴 것이죠
그리고 최종 trian[cols]
는
train[['neighbourhood_group'
, 'neighbourhood'
, 'room_type']]
입니다. cols을 출력하는 것이 아니라 train에 있는 cols 컬럼을 출력하는 거에요