pd.merge(left, right, how, on, left_on, right_on, left_index, right_index)
data에는
짱구 철수 훈이
adddata에는
짱구 철수 유리
가 포함되어 있다.
inner join을 할 경우, 공통되는 짱구, 철수만 출력이 된다.
data = DataFrame([["짱구", 180, 70], ["철수", 170, 65], [
"훈이", 160, 75]], columns=["이름", "키", "몸무게"])
adddata = DataFrame([["짱구", 80], ["철수", 100], ["유리", 100]], columns=["이름", "점수"])
print(pd.merge(left = data, right = adddata, how = "inner", on = "이름"))
left join을 할 경우, 왼쪽 DataFrame에 포함되는 짱구, 철수, 훈이가 출력된다.
data = DataFrame([["짱구", 180, 70], ["철수", 170, 65], [
"훈이", 160, 75]], columns=["이름", "키", "몸무게"])
adddata = DataFrame([["짱구", 80], ["철수", 100], ["유리", 100]], columns=["이름", "점수"])
print(pd.merge(left = data, right = adddata, how = "left", on = "이름"))
훈이의 경우 right DataFrame에 포함되지 않으므로, "점수" 값이 NaN으로 표시된다.
outer join을 할 경우, left DataFrame과 Right DataFrame에 해당하는 모든 값을 불러온다.
data = DataFrame([["짱구", 180, 70], ["철수", 170, 65], [
"훈이", 160, 75]], columns=["이름", "키", "몸무게"])
adddata = DataFrame([["짱구", 80], ["철수", 100], ["유리", 100]], columns=["이름", "점수"])
print(pd.merge(left = data, right = adddata, how = "outer", on = "이름"))
# "이름" 컬럼을 index로 설정
data = data.set_index("이름")
adddata = adddata.set_index("이름")
print(pd.merge(left=data, right=adddata,
left_index=True, right_index=True, how="inner"))