Pandas DataFrame DataFrame.merge() 함수
-
pandas.DataFrame.merge()
의 구문 : -
예제 코드:
DataFrame.merge()
두 개의DataFrames
를 병합하는 함수 -
예제 코드:
merge
메서드에서how
매개 변수를 설정하여 다양한 기법을 사용하여 데이터 프레임을 병합합니다 -
예제 코드: Pandas에서
DataFrame.merge()
함수를 사용하여 특정 열만 병합 -
예제 코드: 인덱스를 데이터 프레임 병합을위한 조인 키로 사용
DataFrame.merge()
함수
Python Pandas DataFrame.merge()
함수는DataFrame
또는 명명 된 Series 객체를 병합합니다.
pandas.DataFrame.merge()
의 구문 :
DataFrame.merge(
right,
how="inner",
on=None,
left_on=None,
right_on=None,
left_index=False,
right_index=False,
sort=False,
suffixes="_x",
"_y",
copy=True,
indicator=False,
validate=None,
)
매개 변수
right |
DataFrame 또는 명명 된 시리즈. 병합 할 개체 |
how |
left ,right ,inner 또는outer . 병합 작업을 수행하는 방법 |
on |
라벨 또는 목록. 병합 할 열 또는 인덱스 이름 |
left_on |
라벨 또는 목록. 왼쪽DataFrame 에서 병합 할 열 또는 색인 이름 |
right_on |
라벨 또는 목록. 오른쪽DataFrame 에 병합 할 열 또는 색인 이름 |
left_index |
부울. 왼쪽DataFrame 의 색인을 조인 키로 사용 (left_index=True ) |
right_index |
부울. 오른쪽DataFrame 의 인덱스를 조인 키로 사용 (right_index = True ) |
sort |
부울. 출력에서 조인 키를 알파벳순으로 정렬 (sort=True ) |
suffixes |
왼쪽과 오른쪽에서 각각 겹치는 열 이름에 적용 할 접미사 |
copy |
부울. copy=False 에 대한 복사 금지 |
indicator |
각 행의 소스 정보 (indicator=True )와 함께_merge 라는DataFrame 을 출력 할 열을 추가하고string 이라는 열을 추가하여DataFrame (indicator=string )을 출력합니다. |
validate |
병합이 지정된 유형인지 확인하는 매개 변수입니다. |
반환
주어진 객체를 병합하는DataFrame
을 반환합니다.
예제 코드: DataFrame.merge()
두 개의DataFrames
를 병합하는 함수
import pandas as pd
df1 = pd.DataFrame(
{"Name": ["Suraj", "Zeppy", "Alish", "Sarah"], "Working Hours": [1, 2, 3, 5]}
)
df2 = pd.DataFrame({"Name": ["Suraj", "Zack", "Alish", "Raphel"], "Pay": [5, 6, 7, 8]})
print("1st DataFrame:")
print(df1)
print("2nd DataFrame:")
print(df2)
merged_df = df1.merge(df2)
print("Merged DataFrame:")
print(merged_df)
출력:
1st DataFrame:
Name Working Hours
0 Suraj 1
1 Zeppy 2
2 Alish 3
3 Sarah 5
2nd DataFrame:
Name Pay
0 Suraj 5
1 Zack 6
2 Alish 7
3 Raphel 8
Merged DataFrame:
Name Working Hours Pay
0 Suraj 1 5
1 Alish 3 7
SQL
의inner-join
기법을 사용하여df1
과df2
를 단일DataFrame
으로 병합합니다.
inner-join
메소드의 경우 두DataFrames
에 공통된 열이 하나 이상 있는지 확인해야합니다.
여기서merge()
함수는 공통 열의 값이 동일한 행을 두DataFrames
에 결합합니다.
예제 코드: merge
메서드에서how
매개 변수를 설정하여 다양한 기법을 사용하여 데이터 프레임을 병합합니다
import pandas as pd
df1 = pd.DataFrame(
{"Name": ["Suraj", "Zeppy", "Alish", "Sarah"], "Working Hours": [1, 2, 3, 5]}
)
df2 = pd.DataFrame({"Name": ["Suraj", "Zack", "Alish", "Raphel"], "Pay": [5, 6, 7, 8]})
print("1st DataFrame:")
print(df1)
print("2nd DataFrame:")
print(df2)
merged_df = df1.merge(df2, how="right")
print("Merged DataFrame:")
print(merged_df)
출력:
1st DataFrame:
Name Working Hours
0 Suraj 1
1 Zeppy 2
2 Alish 3
3 Sarah 5
2nd DataFrame:
Name Pay
0 Suraj 5
1 Zack 6
2 Alish 7
3 Raphel 8
Merged DataFrame:
Name Working Hours Pay
0 Suraj 1.0 5
1 Alish 3.0 7
2 Zack NaN 6
3 Raphel NaN 8
SQL
의right-join
기법을 사용하여df1
과df2
를 단일DataFrame
에 병합합니다.
여기서merge()
함수는 오른쪽DataFrame
에서 모든 행을 반환합니다. 그러나 왼쪽 DataFrame
에만있는 행은 NaN
값을 가져옵니다.
마찬가지로,how
매개 변수의left
및outer
값을 사용할 수도 있습니다.
예제 코드: Pandas에서DataFrame.merge()
함수를 사용하여 특정 열만 병합
import pandas as pd
df1 = pd.DataFrame(
{
"Name": ["Suraj", "Zeppy", "Alish", "Sarah"],
"Working Hours": [1, 2, 3, 5],
"Position": ["Salesman", "CEO", "Manager", "Sales Head"],
}
)
df2 = pd.DataFrame(
{
"Name": ["Suraj", "Zack", "Alish", "Raphel"],
"Pay": [5, 6, 7, 8],
"Position": ["Salesman", "CEO", "Manager", "Sales Head"],
}
)
print("1st DataFrame:")
print(df1)
print("2nd DataFrame:")
print(df2)
merged_df = df1.merge(df2, on="Name")
print("Merged DataFrame:")
print(merged_df)
출력:
1st DataFrame:
Name Working Hours Position
0 Suraj 1 Salesman
1 Zeppy 2 CEO
2 Alish 3 Manager
3 Sarah 5 Sales Head
2nd DataFrame:
Name Pay Position
0 Suraj 5 Salesman
1 Zack 6 CEO
2 Alish 7 Manager
3 Raphel 8 Sales Head
Merged DataFrame:
Name Working Hours Position_x Pay Position_y
0 Suraj 1 Salesman 5 Salesman
1 Alish 3 Manager 7 Manager
df1
과df2
의Name
열만 병합합니다. 기본 조인 방법은inner-join
이므로 두DataFrame
의 공통 행만 조인됩니다. Position
열은DataFrames
모두에 공통이므로 두 위치 열 즉, Position_x
및Position_y
.
기본적으로_x
및_y
접미사는 겹치는 열의 이름에 추가됩니다. suffixes
매개 변수를 사용하여 접미사를 지정할 수 있습니다.
df1 = pd.DataFrame(
{
"Name": ["Suraj", "Zeppy", "Alish", "Sarah"],
"Working Hours": [1, 2, 3, 5],
"Position": ["Salesman", "CEO", "Manager", "Sales Head"],
}
)
df2 = pd.DataFrame(
{
"Name": ["Suraj", "Zack", "Alish", "Raphel"],
"Pay": [5, 6, 7, 8],
"Position": ["Salesman", "CEO", "Manager", "Sales Head"],
}
)
print("1st DataFrame:")
print(df1)
print("2nd DataFrame:")
print(df2)
merged_df = df1.merge(df2, on="Name", suffixes=("_left", "_right"))
print("Merged DataFrame:")
print(merged_df)
출력:
1st DataFrame:
Name Working Hours Position
0 Suraj 1 Salesman
1 Zeppy 2 CEO
2 Alish 3 Manager
3 Sarah 5 Sales Head
2nd DataFrame:
Name Pay Position
0 Suraj 5 Salesman
1 Zack 6 CEO
2 Alish 7 Manager
3 Raphel 8 Sales Head
Merged DataFrame:
Name Working Hours Position_left Pay Position_right
0 Suraj 1 Salesman 5 Salesman
1 Alish 3 Manager 7 Manager
예제 코드: 인덱스를 데이터 프레임 병합을위한 조인 키로 사용DataFrame.merge()
함수
import pandas as pd
df1 = pd.DataFrame(
{
"Name": ["Suraj", "Zeppy", "Alish", "Sarah"],
"Working Hours": [1, 2, 3, 5],
"Position": ["Salesman", "CEO", "Manager", "Sales Head"],
}
)
df2 = pd.DataFrame(
{
"Name": ["Suraj", "Zack", "Alish", "Raphel"],
"Pay": [5, 6, 7, 8],
"Position": ["Salesman", "CEO", "Manager", "Sales Head"],
}
)
print("1st DataFrame:")
print(df1)
print("2nd DataFrame:")
print(df2)
merged_df = df1.merge(
df2, left_index=True, right_index=True, suffixes=("_left", "_right")
)
print("Merged DataFrame:")
print(merged_df)
출력:
1st DataFrame:
Name Working Hours Position
0 Suraj 1 Salesman
1 Zeppy 2 CEO
2 Alish 3 Manager
3 Sarah 5 Sales Head
2nd DataFrame:
Name Pay Position
0 Suraj 5 Salesman
1 Zack 6 CEO
2 Alish 7 Manager
3 Raphel 8 Sales Head
Merged DataFrame:
Name_left Working Hours Position_left Name_right Pay Position_right
0 Suraj 1 Salesman Suraj 5 Salesman
1 Zeppy 2 CEO Zack 6 CEO
2 Alish 3 Manager Alish 7 Manager
3 Sarah 5 Sales Head Raphel 8 Sales Head
열 유사성을 고려하지 않고 두 개의 DataFrames
의 해당 행을 병합합니다. 두DataFrame
에 동일한 열 이름이 나타나면 접미사가 열 이름에 첨부되고 병합 후 다른 열이 만들어집니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn