• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

22번째 강의 질문있습니다.

21.04.08 00:54 작성 조회수 106

1

[22/25] 강의 중 질문있습니다.

1. df_all_oversea_case = df_all_gu.merge(df_oversea_gu, left_index=True, right_index=True)

df_all_oversea_case.head()

2. df_all_oversea_case = df_all_gu.merge(df_oversea_gu, left_on=df_all_gu.index, right_on=df_oversea_gu.index)

df_all_oversea_case.head()

1번코드와 2번코드는 단순히 코드의 길이 차이라고 하셨는데 결과값 2번에서는 0,1,2,3 번 과 key값이 나와 추후 차트를 그릴 때 에러가 나옵니다.

왜그린저 일수있나요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

좋은 질문을 주셨네요.

df_all_gu.merge(df_oversea_gu, left_index=True, right_index=True) 

위의 방법은 이미 인덱스를 키로 설정했기 때문에 따로 컬럼이 생성되지 않는데요.

두 번째 아래 방법은 특정 컬럼을 키값으로 설정하는 코드인데 인덱스를 키로 설정해서 해당 키값이 컬럼으로 오게 됩니다. merge가 되는 것은 동일하나 결과에서 인덱스값이 그대로 있는지 컬럼으로 오는지의 차이가 있어요.

인덱스 값이 컬럼으로 왔을 때는 set_index()를 통해서 다시 인덱스를 설정해 주면 됩니다.

시각화에서 오류가 난 이유는 판다스로 시각화 할 때 중심축에 와야 하는 값이 인덱스가 되어야 해요.

그래서 컬럼으로 되어 있다면 인덱스로 설정해 주셔야 오류가 나지 않습니다.

전체 데이터 프레임에서 데이터를 가져와서 시각화를 할 때도 중심축(보통 x축)으로 지정하고자 하는 컬럼을 인덱스로 설정해 주면 판다스에서 시각화를 할 때 편하게 사용하실 수 있습니다.

감사합니다.