วิธีเปรียบเทียบสองคอลัมน์ใน pandas: พร้อมตัวอย่าง
บ่อยครั้งคุณอาจต้องการเปรียบเทียบสองคอลัมน์ใน Pandas DataFrame และเขียนผลการเปรียบเทียบไปยังคอลัมน์ที่สาม
คุณสามารถทำได้โดยใช้ไวยากรณ์ต่อไปนี้:
conditions=[(condition1),(condition2)] choices=[" choice1 "," choice2 "] df[" new_column_name "]=np. select (conditions, choices, default)
นี่คือสิ่งที่รหัสนี้ทำ:
- เงื่อนไข คือเงื่อนไขที่ต้องตรวจสอบระหว่างสองคอลัมน์
- ตัวเลือก คือผลลัพธ์ที่ส่งคืนตามเงื่อนไข
- np.select ใช้เพื่อส่งคืนผลลัพธ์ในคอลัมน์ใหม่
ตัวอย่างต่อไปนี้แสดงวิธีใช้โค้ดนี้ในทางปฏิบัติ
ตัวอย่าง: เปรียบเทียบสองคอลัมน์ใน Pandas
สมมติว่าเรามี DataFrame ต่อไปนี้ซึ่งแสดงจำนวนประตูที่ทีมฟุตบอลสองทีมทำได้ในการแข่งขันที่แตกต่างกันห้านัด:
import numpy as np import pandas as pd #createDataFrame df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5], ' B_points ': [4, 5, 2, 3, 2]}) #view DataFrame df A_points B_points 0 1 4 1 3 5 2 3 2 3 3 3 4 5 2
เราสามารถใช้โค้ดต่อไปนี้เพื่อเปรียบเทียบจำนวนประตูต่อแถวและแสดงผู้ชนะการแข่งขันในคอลัมน์ที่สาม:
#define conditions conditions = [df[' A_points '] > df[' B_points '], df[' A_points '] < df[' B_points ']] #define choices choices = [' A ', ' B '] #create new column in DataFrame that displays results of comparisons df[' winner '] = np. select (conditions, choices, default=' Tie ') #view the DataFrame df A_points B_points winner 0 1 4 B 1 3 5 B 2 3 2 A 3 3 3 Tie 4 5 2 A
ผลลัพธ์การเปรียบเทียบจะแสดงในคอลัมน์ใหม่ที่เรียกว่า ผู้ชนะ
ความคิดเห็น
ต่อไปนี้เป็นสิ่งที่ควรคำนึงถึงเมื่อเปรียบเทียบสองคอลัมน์ใน DataFrame ของ pandas:
- จำนวน เงื่อนไข และ ตัวเลือก ต้องเท่ากัน
- ค่า เริ่มต้น จะระบุค่าที่จะแสดงในคอลัมน์ใหม่หากไม่มีเงื่อนไขใดตรงเลย
- ต้องใช้ NumPy และ Pandas เพื่อให้โค้ดนี้ทำงานได้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
วิธีเปลี่ยนชื่อคอลัมน์ใน Pandas
วิธีเพิ่มคอลัมน์ใน Pandas DataFrame
วิธีเปลี่ยนลำดับคอลัมน์ใน Pandas DataFrame