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

Jin님의 프로필 이미지
Jin

작성한 질문수

처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part2]

pandas 라이브러리로 실제 데이터 전처리하기1

country_info 질문!

작성

·

212

0

해당 강의에서 country_info 테이블과 01월22일 코로나 현황 테이블을 left merge 했는데 그렇다면 좌측에 둔 01월 22일 코로나 현황의 컬럼들과 겹치는 컬럼들만 나와야 하는거 같은데 결과값에서  country_info 컬럼 전부가 나오는 이유가 궁금합니다!

답변 2

0

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

이렇게 해당 dataframe은 doc 이라는 변수에 할당했습니다 

그리고 이렇게 country_info 도 가져왔습니다 

위 dataframe 두개를 left merge 한 자료입니다. 강사님 강의 자료에서 그대로 캡처해왔습니다! 

test_df = pd.merge(doc, country_info, how='left', on='Country_Region')

이렇게 되면 왼쪽 테이블과 오른쪽 테이블 모두의 컬럼을 가져오는 것은 이해했습니다.

이렇게 left merge 식을 쓰면 왼쪽  테이블에 있는 정보는 모두 다 가져오고 오른쪽 테이블에서는 기준이 되는 컬럼 즉, 여기서는 Country_Region 의 컬럼값이 왼쪽과 같은 행만 가져오는것으로 알고 있습니다 

그렇게 되면 doc을 출력해보면 총 37행이고 country_info를 출력해보면 3000행을 넘어가던데 두 merge 값인 test_df 가 어떻게 3332행이 나올 수 있는 건가요? 왼쪽에 맞춰야하면 기본적으로 왼쪽 테이블의 모든 값을 다 가져오고 이에 겹치는 오른쪽 행들이 있다해도 37줄이 나와야 하는게 아닌가요?

0

안녕하세요. 우선 어느 강의에서 몇분몇초에 나온 부분을 말씀하시는 것인지를 꼭 말씀부탁드립니다. 

말씀하신 질문을 제가 잘 이해한 것인지는 모르겠지만, merge 에 대해 설명드린 강의에서 보시면, 특정 컬럼명으로 left merge 를 했을 때, 왼쪽 특정 컬럼값을 기준으로, 해당 컬럼값이 동일한 행들만 가져오게 되고, 각 행에 있는 컬럼들은 모두 가져오게 되어 있습니다. 관련 강의를 다시 한번 보시면 이해가 되실 것 같습니다. 

감사합니다.

Jin님의 프로필 이미지
Jin

작성한 질문수

질문하기