แพนด้า: เลือกแถวที่มีสองคอลัมน์เท่ากัน
คุณสามารถใช้วิธีการต่อไปนี้เพื่อเลือกแถวใน Pandas DataFrame โดยที่ทั้งสองคอลัมน์ (หรือไม่) เท่ากัน:
วิธีที่ 1: เลือกแถวที่มีสองคอลัมน์เท่ากัน
df. query (' column1 ==column2 ')
วิธีที่ 2: เลือกแถวที่มีสองคอลัมน์ไม่เท่ากัน
df. query (' column1 !=column2 ')
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' painting ': ['A', 'B', 'C', 'D', 'E', 'F'], ' fail1 ': ['Good', 'Good', 'Bad', 'Bad', 'Good', 'Good'], ' fail2 ': ['Good', 'Bad', 'Bad', 'Good', 'Good', 'Good']}) #view DataFrame print (df) painting rater1 rater2 0 A Good Good 1 B Good Bad 2 C Bad Bad 3 D Bad Good 4 E Good Good 5 F Good Good
ตัวอย่างที่ 1: เลือกแถวที่มีสองคอลัมน์เท่ากัน
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกเฉพาะแถวใน DataFrame โดยที่ค่าของคอลัมน์ Rater1 และ Rater2 เท่ากัน:
#select rows where rater1 is equal to rater2 df. query (' rater1 ==rater2 ') painting rater1 rater2 0 A Good Good 2 C Bad Bad 4 E Good Good 5 F Good Good
โปรดทราบว่ามีการเลือกเฉพาะบรรทัดที่ miss1 และ miss2 เท่ากันเท่านั้น
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน len() ได้หากเราต้องการนับจำนวนแถวที่มีค่าเท่ากันในคอลัมน์ Rater1 และ Rater2 :
#count the number of rows where rater1 is equal to rater2 len ( df.query (' rater1 ==rater2 ')) 4
สิ่งนี้บอกเราว่ามี 4 แถวโดยที่ค่าของคอลัมน์ miss1 และ miss2 เท่ากัน
ตัวอย่างที่ 2: เลือกแถวที่มีสองคอลัมน์ไม่เท่ากัน
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกเฉพาะแถวเหล่านั้นใน DataFrame โดยที่ค่าของคอลัมน์ Rater1 และ Rater2 ไม่เท่ากัน:
#select rows where rater1 is not equal to rater2 df. query (' rater1 !=rater2 ') painting rater1 rater2 1 B Good Bad 3 D Bad Good
โปรดทราบว่ามีการเลือกเฉพาะบรรทัดที่ miss1 และ miss2 ไม่เท่ากันเท่านั้น
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
วิธีเปลี่ยนชื่อคอลัมน์ใน Pandas
วิธีเพิ่มคอลัมน์ใน Pandas DataFrame
วิธีเปลี่ยนลำดับคอลัมน์ใน Pandas DataFrame