Pandas: 두 개의 dataframe을 서로 다른 열 이름으로 병합하는 방법


다음 기본 구문을 사용하여 두 개의 Pandas DataFrame을 서로 다른 열 이름으로 병합할 수 있습니다.

 p.d. merge (df1, df2, left_on=' left_column_name ', right_on=' right_column_name ')

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: 열 이름이 다른 두 개의 Pandas DataFrame을 병합합니다.

다음 두 개의 팬더 DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5]})

#view DataFrame
print (df1)

  team points
0 to 4
1 B 4
2 C 6
3 D 8
4 E 9
5 F 5

#create second DataFrame
df2 = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print (df2)

  team_name rebounds
0 to 12
1 B 7
2 C 8
3 D 8
4 E 5
5 F 11

첫 번째 DataFrame의 열과 두 번째 DataFrame의 team_name 열을 사용하여 다음 구문을 사용하여 내부 조인을 수행할 수 있습니다.

 #merge DataFrames
df3 = pd. merge (df1, df2, left_on=' team ', right_on=' team_name ')

#view result
print (df3)

  team points team_name rebounds
0 A 4 A 12
1 B 4 B 7
2 C 6 C 8
3 D 8 D 8
4 E 9 E 5
5 F 5 F 11

조인에 사용한 두 개의 열 이름이 각 DataFrame에서 서로 달라도 내부 조인을 성공적으로 수행할 수 있습니다.

이 열의 값이 열의 값과 일치하므로 다음 코드를 사용하여 최종 병합된 DataFrame에서 team_name 열을 제거할 수도 있습니다.

 #drop team_name column
df3. drop (' team_name ', axis= 1 , inplace= True )

#view updated DataFrame
print (df3)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

team_name 열이 DataFrame에서 제거되었습니다.

관련 항목: Pandas에서 열을 삭제하는 방법(4개 예)

추가 리소스

다음 튜토리얼에서는 다른 일반적인 Panda 작업을 수행하는 방법을 설명합니다.

Pandas에서 열 순서를 변경하는 방법
Pandas에서 열 이름을 바꾸는 방법
Pandas에서 이름별로 열을 정렬하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다