Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - รวม DataFrame แบบ Many-to-One Relation

บทนำ

ใช้ pd.merge() รวม DataFrame แบบ Many-to-One ตั้ง validate="many_to_one" ตรวจสอบคีย์ไม่ซ้ำในฝั่งขวา (right)

ขั้นตอน

  1. สร้าง DataFrame1 (Car, Units) - ด้านซ้าย (Many)
  2. สร้าง DataFrame2 (Car, Reg_Price) - ด้านขวา (One) คีย์ไม่ซ้ำ
  3. รวมด้วย pd.merge(dataFrame1, dataFrame2, validate="many_to_one")

โค้ดเต็ม

import pandas as pd

dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 110, 80, 110, 90]
})

dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})

mergedRes = pd.merge(dataFrame1, dataFrame2, validate="many_to_one")
print("\nMerged dataframe with many-to-one relation...\n", mergedRes)

ผลลัพธ์

ได้ DataFrame รวม 3 แถว (BMW, Mustang, Jaguar) ที่มีคีย์ตรงกัน