Pandas 데이터 결합 | concatenate, append, merge, join

midoi·2023년 7월 26일
0

빅데이터 분석

목록 보기
3/7
  • 기준 열(key column)을 사용하지 않고 단순히 데이터를 연결함 :concatenate
  • 기본적으로는 위/아래로 행추가. index값 중복 가능
  • concat(A,B), A.append(B)
  1. 데이터 연결 concat
result = pd.concat([df1, df2, df3])
result = pd.concat([df1, df2, df3], axis=1, ignore_index=True)
result.columns = ["col_"+str(i) for in range(12)]
  1. 기존 데이터에 추가로 연결 append

.

  1. 병합 merge
    Dataframe의 공통 열 혹은 인덱스를 기준으로 두 개의 DataFrame을 합침
    기준이 되는 열 또는 행은 key
    merge와 join은 동일한 기능 수행. 명령어가 다른 정도
    -- 병합할 경우 merge(A,B)
    -- 결합할 경우 A.join(B) (B의 key는 인덱스이다.)
result =pd.merge(left, right, on=['key1', 'key2'])
result =pd.merge(left, right, on=['key1', 'key2'], how='left)
result =pd.merge(left, right, on=['key1', 'key2'], how='outer', indicator=True)



result =left.join(right)
result =left.join(right, how='right)
result =left.join(right, on='key')
  • merge vs join
    left.join(right, on='key1') 과
    pd.merge(left, right, left_on='key1', right_index=True, how='left') 는 동일하다.

left_on / right_on : 열기준 병합 시 기준으로 할 열의 양측 이름이 다르다면, 각각 어떤 열을 기준으로 할지 정해줍니다. 열의 이름을 입력하면 됩니다.
left_index / right_index : 인덱스 기준 병합 시 True로 하면 해당 객체의 인덱스가 병합 기준이됩니다.
※ 즉 left_on을 입력하고 right_index를 True로 한다면 열-인덱스 기준 병합도 가능합니다.

0개의 댓글