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

김민지님의 프로필 이미지
김민지

작성한 질문수

빅데이터 분석기사 시험 실기(Python)

7강 코드 질문드립니다

작성

·

322

0

7강 코드를 replit에 따라쳐보고 있는데요ㅠㅠ

두가지 질문이 있습니다

1) get_dummies 관련

강의에서 선생님께서는 get_dummies에서 df 만 인자로 넣으셨는데

저는 그렇게 하니까 숫자처럼 보이는 컬럼도 원핫인코딩이 되어버립니다.

dtypes 해보면 object 로 나옵니다

그래서 columns = ['island','sex'] 를 넣어야 하는건지 궁금합니다

이것만 넣으면 될까요?

저는 df만 넣으면 왜 결과가 다른지도 궁금합니다

 

2) 그리고 이어서 qcut 관련 질문인데요

df['body_mass_g_qcut'] = pd.qcut(df['body_mass_g'],q=5,labels=False)

에서 계속해서 에러가 납니다.

TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule "safe"

똑같이 따라친것 같은데 에러가 나는 이유를 잘 모르겠습니다.

혹시 조언주실 수 있을까요..?

 

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

  1. get_dummies 관련 질문에 대해서는 df에서 숫자 데이터도 자동으로 원핫인코딩 된다는게 이해가 안 가시는 것 같아요. 만약 df에서 숫자 데이터도 인코딩을 하고 싶지 않다면, 코드에서 columns 파라미터를 이용해서 원하는 컬럼만 선택하면 됩니다. 즉, df에서 숫자 데이터를 제외한 데이터만 columns 파라미터에 입력하시면 됩니다.

  2. qcut 관련 질문에서는 에러가 난 이유는 pd.qcut() 함수에 입력된 body_mass_g 컬럼에 결측치가 있어서인 것 같습니다. 이 경우에는 결측치 처리를 해주고 난 후에 다시 시도해보세요. 예를 들면, fillna() 함수를 이용해서 NaN 값을 다른 값으로 대체해보시는 것도 방법이 될 수 있을 것 같아요.

조금 더 상세한 조언이 필요하시다면, 코드와 데이터를 더 자세히 살펴봐야 할 것 같습니다. 좀 더 자세한 내용을 알려주시면 더 도움을 드릴게요. 감사합니다.

김민지님의 프로필 이미지
김민지
질문자

추가로 질문드려도 괜찮을까요??

1) seaborn 라이브러리의 dataset 내용이 시간이 지남에 따라 바뀌기도 하는건가요??

강의에서는 body_mass_g 에 결측치 처리를 안한거 같아서요~

2) 교수님께서는 강의에서 columns 인자를 넣지 않아도 숫자형은 원핫인코딩이 안되었는데요

혹시 왜그런지 궁금합니다

image

김민지님의 프로필 이미지
김민지

작성한 질문수

질문하기