Pandas 연결 병합 함수 merge() 상세 정보

2491 단어 Pandas병합merge

1.merge 함수 용도


pandas의merge() 함수는 SQL에서join의 사용법과 유사합니다. 서로 다른 데이터 집합을 일부 필드(속성)에 따라 통합하여 새로운 데이터 집합을 얻을 수 있습니다.

2. merge() 함수의 구체적인 매개 변수


사용법:

DataFrame1.merge(DataFrame2, how=‘inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', ‘_y'))
매개변수 설명
매개 변수
설명
how
기본값은 inner입니다. inner/outer/left/right로 설정할 수 있습니다.
on
필드 연결에 따라 두 DateFrame에 있어야 합니다(동시에 존재하지 않으면 각각 left_on과 right_on을 사용하여 설정해야 함).
left_on
왼쪽 연결, DataFrame1에서 연결 키로 사용되는 열
right_on
오른쪽 연결, DataFrame2에서 연결 키로 사용되는 열
left_index
DataFrame1 로프를 연결 키로 참조
right_index
DataFrame2 로프를 연결 키로 참조
sort
연결 키에 따라 병합된 데이터를 정렬합니다. 기본값은 True
suffixes
두 데이터 세트에 대한 중복 열, 새 데이터 세트에 접미사 추가_x,_구별

3. merge용법 예시


두 개의 데이터 상자 만들기


# dict 
dataDf1=pd.DataFrame({'lkey':['foo','bar','baz','foo'],
      'value':[1,2,3,4]})
dataDf2=pd.DataFrame({'rkey':['foo','bar','qux','bar'],
      'value':[5,6,7,8]})
print(dataDf1)
print(dataDf2)
>>>
 lkey value
0 foo  1
1 bar  2
2 baz  3
3 foo  4

 rkey value
0 foo  5
1 bar  6
2 qux  7
3 bar  8

내부 연결(Inner)


#inner 
dataLfDf=dataDf1.merge(dataDf2, left_on='lkey',right_on='rkey')
>>>
 lkey value_x rkey value_y
0 foo  1 foo  5
1 foo  4 foo  5
2 bar  2 bar  6
3 bar  2 bar  8

오른쪽 링크(Right)


#Right 
dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey',how='right')
>>>
 lkey value_x rkey value_y
0 foo  1.0 foo  5
1 foo  4.0 foo  5
2 bar  2.0 bar  6
3 bar  2.0 bar  8
4 NaN  NaN qux  7

전체 링크(Outer)


#Outer 
dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey', how='outer')
>>>
 lkey value_x rkey value_y
0 foo  1.0 foo  5.0
1 foo  4.0 foo  5.0
2 bar  2.0 bar  6.0
3 bar  2.0 bar  8.0
4 baz  3.0 NaN  NaN
5 NaN  NaN qux  7.0
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.만약 잘못이 있거나 완전한 부분을 고려하지 않으신다면 아낌없이 가르침을 주시기 바랍니다.

좋은 웹페이지 즐겨찾기