เรียนรู้วิธีผสาน Dataframes ใน Python

เรียนรู้วิธีผสาน Dataframes ใน Python

หากคุณใช้ Python แม้แต่สำหรับงานที่ง่ายที่สุด คุณอาจทราบถึงความสำคัญของไลบรารีของบุคคลที่สาม ห้องสมุด Pandas ซึ่งรองรับ DataFrames อย่างดีเยี่ยม เป็นหนึ่งในห้องสมุดดังกล่าว





คุณสามารถนำเข้าไฟล์หลายประเภทลงใน Python DataFrames และสร้างเวอร์ชันต่างๆ เพื่อจัดเก็บชุดข้อมูลที่แตกต่างกัน เมื่อคุณนำเข้าข้อมูลของคุณโดยใช้ DataFrames คุณสามารถรวมข้อมูลเพื่อทำการวิเคราะห์โดยละเอียดได้





การแก้ปัญหาเบื้องต้น

ก่อนที่คุณจะเริ่มต้นการรวม คุณต้องมี DataFrames เพื่อผสาน เพื่อวัตถุประสงค์ในการพัฒนา คุณสามารถสร้างข้อมูลจำลองเพื่อทดลองได้





สร้าง DataFrames ใน Python

ขั้นตอนแรก ให้นำเข้าไลบรารี Pandas ลงในไฟล์ Python ของคุณ Pandas เป็นไลบรารีของบุคคลที่สามที่จัดการ DataFrames ใน Python คุณสามารถใช้ นำเข้า คำสั่งการใช้ห้องสมุด ดังนี้

import pandas as pd

คุณสามารถกำหนดนามแฝงให้กับชื่อไลบรารีเพื่อย่อการอ้างอิงรหัสของคุณ



คุณต้องสร้างพจนานุกรม ซึ่งคุณสามารถแปลงเป็น DataFrames ได้ เพื่อผลลัพธ์ที่ดีที่สุด ให้สร้างตัวแปรพจนานุกรมสองตัว— dict1 และ dict2— เพื่อจัดเก็บข้อมูลเฉพาะ:

dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

โปรดจำไว้ว่า คุณต้องมีองค์ประกอบร่วมกันในค่าพจนานุกรมทั้งสอง เพื่อทำหน้าที่เป็นคีย์หลักสำหรับการรวม DataFrames ของคุณในภายหลัง





สุดยอดสถานีชาร์จแอปเปิ้ล 3 ใน 1

แปลงพจนานุกรมของคุณเป็น DataFrames

ในการแปลงค่าพจนานุกรมของคุณเป็น DataFrames คุณสามารถใช้วิธีการต่อไปนี้:

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

IDE บางตัวให้คุณตรวจสอบค่าภายใน DataFrame โดยอ้างอิงฟังก์ชัน DataFrame แล้วกด เรียกใช้/ดำเนินการ . มีมากมาย IDE ที่เข้ากันได้กับ Python เพื่อให้คุณสามารถเลือกและเลือกสิ่งที่ง่ายที่สุดสำหรับคุณในการเรียนรู้





  ข้อมูลโค้ด Jupyter Notebook

เมื่อคุณพอใจกับเนื้อหาของ DataFrames แล้ว คุณสามารถไปยังขั้นตอนการรวมได้

การรวมเฟรมเข้ากับฟังก์ชันผสาน

ฟังก์ชันผสานเป็นฟังก์ชัน Python แรกที่คุณสามารถใช้เพื่อรวม DataFrames สองอัน ฟังก์ชันนี้รับอาร์กิวเมนต์เริ่มต้นต่อไปนี้:

pd.merge(DataFrame1, DataFrame2, how= type of merge)

ที่ไหน:

  • pd เป็นนามแฝงสำหรับห้องสมุด Pandas
  • ผสาน เป็นฟังก์ชันที่ผสาน DataFrames
  • DataFrame1 และ DataFrame2 คือ DataFrames สองอันที่จะรวมเข้าด้วยกัน
  • อย่างไร กำหนดประเภทการผสาน

มีอาร์กิวเมนต์ที่เป็นทางเลือกเพิ่มเติม ซึ่งคุณสามารถใช้เมื่อคุณมีโครงสร้างข้อมูลที่ซับซ้อน

คุณสามารถใช้ค่าที่แตกต่างกันสำหรับวิธีที่พารามิเตอร์กำหนดประเภทของการผสานที่จะดำเนินการ การผสานประเภทนี้จะคุ้นเคยหากคุณ ใช้ SQL เพื่อเข้าร่วมตารางฐานข้อมูล .

ซ้ายผสาน

ประเภทการผสานด้านซ้ายจะคงค่าของ DataFrame แรกไว้เหมือนเดิม และดึงค่าที่ตรงกันจาก DataFrame ที่สอง

  ข้อมูลโค้ด Jupyter Notebook

ขวาผสาน

ประเภทการผสานที่ถูกต้องจะคงค่าของ DataFrame ที่สองไว้เหมือนเดิม และดึงค่าที่ตรงกันจาก DataFrame แรก

  ข้อมูลโค้ด Jupyter Notebook

การผสานภายใน

ชนิดการผสานภายในจะคงค่าที่ตรงกันจากทั้ง DataFrames และเอาค่าที่ไม่ตรงกันออก

  ข้อมูลโค้ด Jupyter Notebook

ภายนอกผสาน

ชนิดการรวมภายนอกจะรักษาค่าที่ตรงกันและไม่ตรงกันทั้งหมด และรวม DataFrames เข้าด้วยกัน

  ข้อมูลโค้ด Jupyter Notebook

วิธีใช้ฟังก์ชัน Concat

ดิ concat ฟังก์ชั่นเป็นตัวเลือกที่ยืดหยุ่นเมื่อเทียบกับฟังก์ชันการผสานอื่นๆ ของ Python ด้วยฟังก์ชัน concat คุณสามารถรวม DataFrames ในแนวตั้งและแนวนอนได้

อย่างไรก็ตาม ข้อเสียของการใช้ฟังก์ชันนี้คือการยกเลิกค่าที่ไม่ตรงกันตามค่าเริ่มต้น เช่นเดียวกับฟังก์ชันที่เกี่ยวข้องอื่นๆ ฟังก์ชันนี้มีอาร์กิวเมนต์สองสามข้อ ซึ่งมีเพียงไม่กี่อาร์กิวเมนต์เท่านั้นที่จำเป็นสำหรับการต่อกันที่ประสบความสำเร็จ

concat(dataframes, axis=0, join='outer'/inner)

ที่ไหน:

  • concat เป็นฟังก์ชันที่เชื่อมกับ DataFrames
  • ดาต้าเฟรม เป็นลำดับของ DataFrames ที่จะต่อกัน
  • แกน แสดงถึงทิศทางของการต่อกัน, 0 คือแนวนอน, 1 คือแนวตั้ง
  • เข้าร่วม ระบุการรวมภายนอกหรือภายใน

เมื่อใช้ DataFrames สองตัวข้างต้น คุณสามารถลองใช้ฟังก์ชัน concat ได้ดังนี้:

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

การไม่มีแกนและอาร์กิวเมนต์เข้าร่วมในโค้ดด้านบนจะรวมชุดข้อมูลสองชุดเข้าด้วยกัน ผลลัพธ์ที่ได้จะมีรายการทั้งหมด โดยไม่คำนึงถึงสถานะการจับคู่

ในทำนองเดียวกัน คุณสามารถใช้อาร์กิวเมนต์เพิ่มเติมเพื่อควบคุมทิศทางและผลลัพธ์ของฟังก์ชัน concat

ในการควบคุมเอาต์พุตด้วยรายการที่ตรงกันทั้งหมด:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

ผลลัพธ์มีค่าที่ตรงกันทั้งหมดระหว่างสอง DataFrames เท่านั้น

  ข้อมูลโค้ด Jupyter Notebook

การรวม DataFrames ด้วย Python

DataFrames เป็นส่วนสำคัญของ Python เมื่อพิจารณาถึงความยืดหยุ่นและการใช้งาน ด้วยการใช้งานที่หลากหลาย คุณสามารถใช้งานได้หลากหลายเพื่อทำงานที่หลากหลายได้อย่างง่ายดายสูงสุด

หากคุณยังคงเรียนรู้เกี่ยวกับ Python DataFrames ให้ลองนำเข้าไฟล์ Excel บางไฟล์ จากนั้นรวมเข้ากับวิธีการต่างๆ

ไม่สามารถติดตั้ง mac os บนคอมพิวเตอร์ของคุณ