สมมติว่าคุณมีสอง DataFrame และต้องการรวม (merge) ตามคอลัมน์ที่มีค่าตรงกัน (เช่น 'id')
วิธีแก้ปัญหา
- สร้าง DataFrame แรก (มีคอลัมน์ id, country)
- สร้าง DataFrame ที่สอง (มีคอลัมน์ id, City)
- ใช้
pd.merge(df1, df2, how='inner', on='id')รวมแบบ inner join
ตัวอย่างโค้ด
import pandas as pd
first_df = pd.DataFrame({'id': [1, 2, 3, 4],
'country': ['India', 'UK', 'US', 'China']})
second_df = pd.DataFrame({'id': [1, 11, 22, 4],
'City': ['Chennai', 'Cambridge', 'Chicago', 'Chengdu']})
print("DataFrame แรก:")
print(first_df)
print("\nDataFrame ที่สอง:")
print(second_df)
# Merge แบบ inner join ตามคอลัมน์ 'id'
merged = pd.merge(first_df, second_df, how='inner', on='id')
print("\nผลลัพธ์ Merge (inner join on 'id'):")
print(merged)
ผลลัพธ์
DataFrame แรก:
id country
0 1 India
1 2 UK
2 3 US
3 4 China
DataFrame ที่สอง:
id City
0 1 Chennai
1 11 Cambridge
2 22 Chicago
3 4 Chengdu
ผลลัพธ์ Merge (inner join on 'id'):
id country City
0 1 India Chennai
1 4 China Chengdu
คำอธิบายประเภท Join:
- inner: เฉพาะ key ที่มีในทั้งสอง DataFrame (default)
- left: key ทั้งหมดจาก left DataFrame + ค่าที่ match จาก right
- right: key ทั้งหมดจาก right DataFrame + ค่าที่ match จาก left
- outer: key ทั้งหมดจากทั้งสอง DataFrame (union)
on='id'ระบุคอลัมน์ key ที่ตรงกันในทั้งสองฝั่ง (ถ้าชื่อต่างกันใช้left_on,right_on)