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

gwakseungjae님의 프로필 이미지
gwakseungjae

작성한 질문수

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

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

4분 30초경 데이터프레임 합치는 부분 질문입니다

작성

·

131

0

안녕하세요 4분 30초경 질문입니다

doc = pd.merge(doc1, doc2, how='outer', left_index=True, right_index=True)

를 사용하면 doc1과 doc2의 양쪽 인덱스를 기준으로 데이터프레임이 병합되는 걸로 이해했는데요

left_index=True만 사용해서 왼쪽 인덱스를 기준으로 병합할 수는 없나요?

doc = pd.merge(doc1, doc2, how='outer', left_index=True)를 사용하니 오류가 나고 GPT는 left_index=True)만 사용해도 병합이 가능하다고 하는데 실제로는 강의처럼 없는 날짜가 NAN이 될 줄 알았는데 오류가 발생해서 질문 드립니다

답변 1

0

안녕하세요. 답변 도우미입니다.

pd.merge 함수에서 left_index=True만 사용하면 왼쪽 DataFrame의 인덱스를 병합 키로 사용하려고 하지만, 오른쪽 DataFrame의 병합 키를 지정해 주지 않았기 때문에 오류가 발생할 수 있습니다. 따라서,

ㄷleft_index=True만 사용하면, 오른쪽 DataFrame에서 사용할 병합 키를 컬럼 이름이나 right_index=True로 지정해주어야 합니다.

다음 부분도 한번 참고가 되시면 좋을 것 같습니다.

doc1과 doc2가 인덱스를 기준으로 병합되어야 한다면, 다음과 같이 사용할 수 있습니다.

doc = pd.merge(doc1, doc2, how='outer', left_index=True, right_index=True)

또는 특정 컬럼을 사용하려면, right_on 옵션을 사용할 수 있습니다

doc = pd.merge(doc1, doc2, how='outer', left_index=True, right_on='some_column')

이처럼 left_index=True만 사용하면 오른쪽 DataFrame에 대한 병합 키를 지정해주어야 하므로 이전에 보신 정보와는 달리 오류가 발생한 것 같습니다.

감사합니다~

gwakseungjae님의 프로필 이미지
gwakseungjae

작성한 질문수

질문하기