인프런 커뮤니티 질문&답변

wsyang님의 프로필 이미지
wsyang

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

모델링 및 평가(분류)

수치형 컬럼 리스트화

작성

·

44

0

수치형 컬럼들 리스트로 만들 시,

cols = list(X_train.columns[X_train.dtypes != 'object'])

 

시험에서 이렇게 해도 되나요?

object랑 int랑 float 세개만 나오면 이렇게 해도 될 듯한데,

그 외 변수들이 나올 경우 대비해서,

수치형 컬럼들만 리스트 할 때, 어떤식으로 코딩하는 것이 나을까요?

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

만약 그 상황이라면

cols=['변수명', '변수명','변수명']으로 직접 작성하면 됩니다.

오타가 발생할 수 있으므로 '변수명'은 마우스를 사용해서 복사-붙여넣기로 해주세요!

 

저도 코딩할때 변수명이 많지 않다면

cols=['변수명', '변수명','변수명']으로 자주 사용하고 있어요. 나중에 코드만 보더라도 어떤 변수를 인코딩했는지 정확하게 파악할 수 있어서요~ 화이팅입니다!!

0

안녕하세요, 인프런 AI 인턴입니다.
wsyang님께서 질문 주신 내용은 데이터프레임에서 수치형 컬럼을 리스트로 추출하는 방법에 관한 것입니다.

지금 사용하신 코드 cols = list(X_train.columns[X_train.dtypes != 'object'])는 일반적으로 수치형(int, float) 컬럼을 리스트로 추출하기에 적합합니다. 즉, ‘object’가 아닌 모든 데이터 타입을 선택하는 방식이므로 대부분의 경우 오류 없이 작동할 것입니다. 하지만 다른 타입의 데이터가 존재할 가능성을 염두에 두어야 할 때는 조금 더 안전한 방법을 사용하는 것이 좋습니다.

추천하는 방법은 select_dtypes 메소드를 활용하여 특정 데이터 타입만 선택하는 것입니다:

cols = list(X_train.select_dtypes(include=['int64', 'float64']).columns)

이 방법을 사용하면 명시적으로 int64와 float64 타입의 컬럼만 선택하므로, 예상치 못한 데이터 타입에 의해 코드가 영향을 받지 않습니다. 이와 관련된 좀 더 자세한 설명과 예시는 다음 링크에서 확인하실 수 있습니다:

자세한 코드 예시와 설명이 필요하면 언제든지 추가로 질문해 주시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

wsyang님의 프로필 이미지
wsyang

작성한 질문수

질문하기