Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Gộp Pandas DataFrame với Left Outer Join


Để gộp (merge) hai Pandas DataFrame, sử dụng hàm merge(). Left outer join được thực hiện bằng cách đặt tham số how="left" trong hàm merge().

Trước tiên, import thư viện pandas:

import pandas as pd

Tạo hai DataFrame để gộp:

# DataFrame1
dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]
})
# DataFrame2
dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})

Gộp DataFrame theo cột chung "Car" với how="left":

mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car', how="left")

Ví dụ hoàn chỉnh

import pandas as pd
# Tạo DataFrame1
dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]
})
print("DataFrame1 ...\n", dataFrame1)
# Tạo DataFrame2
dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})
print("\nDataFrame2 ...\n", dataFrame2)
# Gộp với left outer join
mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car', how="left")
print("\nDataFrame gộp với left outer join...\n", mergedRes)

Kết quả

DataFrame1 ...
     Car  Units
0   BMW    100
1  Lexus    150
2   Audi    110
3 Mustang     80
4 Bentley    110
5 Jaguar     90
DataFrame2 ...
      Car  Reg_Price
0    BMW       7000
1  Lexus       1500
2  Tesla       5000
3 Mustang       8000
4 Mercedes       9000
5 Jaguar       6000
Merged dataframe with left outer join...
     Car  Units  Reg_Price
0   BMW    100     7000.0
1  Lexus    150     1500.0
2   Audi    110        NaN
3 Mustang     80     8000.0
4 Bentley    110        NaN
5 Jaguar     90     6000.0