Computer >> Máy Tính >  >> Lập trình >> Python

Python - Hợp nhất Pandas DataFrame với Inner Join

Để hợp nhất Pandas DataFrame, hãy sử dụng merge () hàm số. Tham gia bên trong được triển khai trên cả DataFrames bằng cách đặt trong phần “ cách ”Tham số của hàm merge () tức là -

how = “inner”

Đầu tiên, hãy nhập thư viện gấu trúc với bí danh -

import pandas as pd

Tạo DataFrame1 -

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

Bây giờ, hãy tạo DataFrame2 -

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

   }
)

Hợp nhất DataFrames với một cột chung Xe và "bên trong" trong tham số "cách" triển khai Tham gia bên trong -

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

Ví dụ

Sau đây là mã -

#
# Merge Pandas DataFrame with Inner Join
#

import pandas as pd

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

print"DataFrame1 ...\n",dataFrame1

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

   }
)

print"\nDataFrame2 ...\n",dataFrame2

# merge DataFrames with common column Car and "inner" in "how" parameter implements Inner Join
mergedRes = pd.merge(dataFrame1, dataFrame2, on ='Car', how ="inner")
print"\nMerged dataframe with inner join...\n", mergedRes

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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 inner join...
       Car   Units   Reg_Price
0      BMW    100      7000
1    Lexus    150      1500
2  Mustang     80      8000
3   Jaguar     90      6000