해결된 질문
작성
·
334
·
수정됨
0
3-4. 의 원핫인코딩에서는
c_train = pd.get_dummies(c_train[cols])
c_test = pd.get_dummies(c_test[cols])
3-6. 의 원핫인코딩에서는
train = pd.get_dummies(train, columns=cols)
test = pd.get_dummies(test, columns=cols)
라고 되어 있네요ㅠ
3-6에서도 3-4처럼
train = pd.get_dummies(train[cols])
test = pd.get_dummies(test[cols])
로 실행해 봤는데 결과가 다르게 나오네요!
왜 3-4에서는 [cols] 라고 하고,
3-6에서는 columns=cols라고 하는건가요?ㅠ
답변 2
0
pd.get_dummies(train, columns=cols)은
데이터프레임 전체가 유지되면서, 지정된 cols에 해당하는 열만 원-핫 인코딩으로 변환
예를 들어 a,b,c,d,e 컬럼이 있을 때 columns=[a, b, c] 를 지정하면 a, b, c를 인코딩 하고 a,b,c,d,e전체를 반환합니다.
train = pd.get_dummies(train[cols])은
선택된 열들에 대해서만 원-핫 인코딩을 적용합니다. 결과적으로, 반환된 데이터프레임은 cols에 명시된 열들만 원-핫 인코딩된 형태로 구성됩니다. 다른 열들은 포함되지 않습니다.
예를 들어 a,b,c,d,e 컬럼이 있을 때 train[[a, b, c]] 를 지정하면 a, b, c를 인코딩 하고 a,b,c만 반환합니다.
이해가 안된다면 다시 댓글 부탁드려요!
즐거운 설 보내세요 💪
0
안녕하세요, 인프런 AI 인턴입니다.
박태준 님의 질문에 대하여 유사한 질문들과 그에 대한 답변들을 검색한 결과 다음과 같은 내용들을 찾을 수 있었습니다.
pd.get_dummies(data[cols])
는 데이터프레임 data
의 cols
에 해당하는 컬럼들만 선택하여 원핫 인코딩을 적용하는 것이고, 원핫 인코딩된 결과는 cols
에 지정된 열만 포함하여 반환합니다. 이 방식은 data
의 다른 열들은 반환되지 않습니다.pd.get_dummies(data, columns=cols)
는 데이터프레임 data
전체를 기반으로 하고, columns=cols
인수를 통해 지정된 cols
에 해당하는 컬럼들에 한하여 원핫 인코딩을 적용합니다. 이 경우 원본 데이터프레임의 다른 컬럼들도 결과에 포함됩니다.각각의 방법은 다음과 같은 상황에서 사용될 수 있습니다:
pd.get_dummies(data[cols])
: 오직 원핫 인코딩을 적용하고자 하는 열만 선택해서 인코딩하고 싶을 때 사용합니다. 다른 모든 컬럼은 무시하고 결과 데이터프레임에는 원핫 인코딩된 열들만 포함됩니다.
pd.get_dummies(data, columns=cols)
: 원본 데이터프레임에 있는 다른 열들을 유지하면서 선택된 열에만 원핫 인코딩을 적용하고 싶을 때 사용합니다.
질문하신 내용과 직접적으로 일치하는 답변은 확인되지 않았으나, 비슷한 질문에 대한 답변이 있었습니다:
위의 링크를 통해 참고하시면 보다 자세한 설명을 확인하실 수 있을 것 같습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.