ในการผสาน Pandas DataFrame ให้ใช้ merge() การทำงาน. ผลิตภัณฑ์คาร์ทีเซียนถูกนำไปใช้กับทั้ง DataFrames โดยการตั้งค่าภายใต้ “วิธี ” พารามิเตอร์ของฟังก์ชัน merge() เช่น −
how = “cross”
ขั้นแรก ให้เรานำเข้าไลบรารีแพนด้าด้วยนามแฝง -
import pandas as pd
สร้าง DataFrame1 -
dataFrame1 = pd.DataFrame( { "Car": ['BMW', 'Mustang', 'Bentley', 'Jaguar'],"Units": [100, 150, 110, 120] } )
สร้าง DataFrame2
dataFrame2 = pd.DataFrame( { "Car": ['BMW', 'Tesla', 'Jaguar'],"Reg_Price": [7000, 8000, 9000] } )
ถัดไป ผสาน DataFrames ด้วย "cross" ในพารามิเตอร์ "how" เช่น Cartesian Product -
mergedRes = pd.merge(dataFrame1, dataFrame2, how ="cross")
ตัวอย่าง
ต่อไปนี้เป็นรหัส
import pandas as pd # Create DataFrame1 dataFrame1 = pd.DataFrame( { "Car": ['BMW', 'Mustang', 'Bentley', 'Jaguar'],"Units": [100, 150, 110, 120] } ) print("DataFrame1 ...\n",dataFrame1) # Create DataFrame2 dataFrame2 = pd.DataFrame( { "Car": ['BMW', 'Tesla', 'Jaguar'],"Reg_Price": [7000, 8000, 9000] } ) print("\nDataFrame2 ...\n",dataFrame2) # merge DataFrames with "cross" in "how" parameter i.e Cartesian Product mergedRes = pd.merge(dataFrame1, dataFrame2, how ="cross") print("\nMerged dataframe with cartesian product...\n", mergedRes)
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame1 ... Car Units 0 BMW 100 1 Mustang 150 2 Bentley 110 3 Jaguar 120 DataFrame2 ... Car Reg_Price 0 BMW 7000 1 Tesla 8000 2 Jaguar 9000 Merged dataframe with cartesian product... Car Units Car_y Reg_Price 0 BMW 100 BMW 7000 1 BMW 100 Tesla 8000 2 BMW 180 Jaguar 9000 3 Mustang 150 BMW 7000 4 Mustang 150 Tesla 8000 5 Mustang 150 Jaguar 9000 6 Bentley 110 BMW 7000 7 Bentley 110 Tesla 8000 8 Bentley 110 Jaguar 9000 9 Jaguar 120 BMW 7000 10 Jaguar 120 Tesla 8000 11 Jaguar 120 Jaguar 9000