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

Tony님의 프로필 이미지
Tony

작성한 질문수

파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1

6.7 또 다른 시각화 라이브러리, seaborn - part2

문의 드립니다.

작성

·

308

1

아래 코드에서 오류가 발생합니다.

잘못 입력된 부분이 있는지 확인이 가능할까요?

sns.relplot(

    x="PBR(IFRS-연결)",

    y="수익률(%)",

    col="size",

    hue="베타 (M,5Yr)",

    data=df,

    

    palette="coolwarm",

)

ValueError: could not broadcast input array from shape (28279,2) into shape (28279)

답변 7

0

DeepingSauce님의 프로필 이미지
DeepingSauce
지식공유자

아.. "size"가 relplot 내부에서 사용하는 변수이름과 겹치거나 해서 그런가보네요ㅎ 원인과 해결책에 대해 자세히 써주셔서 다른분들도 비슷한 상황이 생겼을 때 이 스레드를 참고할 수 있을 듯 합니다. 감사합니다!

0

Tony님의 프로필 이미지
Tony
질문자

버전은..

강의소스에는 

pip install seaborn==0.9.0

설치 하라고 되어 있는데,

저는 이미 설치된 버전(seaborn 0.11.0)이 있어 그대로 사용 했습니다.


dataframe은 아래와 같이 해서 정상적으로 되었습니다.

df.rename(columns={'size':'M_size'}, inplace=True)

sns.relplot(

    x="PBR(IFRS-연결)",

    y="수익률(%)",

    col="M_size",

    hue="베타 (M,5Yr)",

    data=df,

    palette="coolwarm",

)

0

DeepingSauce님의 프로필 이미지
DeepingSauce
지식공유자

해결되셨다니 다행이네요. 근데 잘이해가 안되는것이 라이브러리 버전, 그리고 dataframe의 컬럼명을 바꾸니, 작동이 되었다는 말씀이신가요?

0

Tony님의 프로필 이미지
Tony
질문자

확인되었습니다.

제가 seaborn 0,.11이 기존에 있어서 그대로 사용 했는데 0.9와 차이가 있는것 같습니다.

dataframe에서 size컬럼을 M_size로 변경하면 정상 수행이 됩니다.

감사합니다.

0

DeepingSauce님의 프로필 이미지
DeepingSauce
지식공유자

음.. 혹시 data=df대신 data=df.head()를 넣어보시겠어요? 지금 가장 유력한 후보라고 생각되는 것은, 베타 컬럼에 nan이 있는데 이 nan을 그래프에서 표현을 못해서 발생하는 오류인 것 같습니다. 해당 nan값을 0이나 -999과 같은 값으로 채운뒤에 다시 한번 해보는 것을 권장드립니다.

0

Tony님의 프로필 이미지
Tony
질문자

0

DeepingSauce님의 프로필 이미지
DeepingSauce
지식공유자

안녕하세요! 혹시 df.head() 결과도 이미지로 첨부해주실 수 있을까요?  df.shape 결과도 같이 올려주시면 감사하겠습니다

Tony님의 프로필 이미지
Tony

작성한 질문수

질문하기