ในการกรองแถวตามค่าของคอลัมน์ เราสามารถใช้ฟังก์ชัน query() ในฟังก์ชัน กำหนดเงื่อนไขที่คุณต้องการกรองระเบียน ขั้นแรก นำเข้าไลบรารีที่จำเป็น -
import pandas as pd
ต่อไปนี้เป็นข้อมูลของเรากับ Team Records -
Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]
สร้าง DataFrame จากด้านบนและเพิ่มคอลัมน์ด้วย -
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
ใช้ query() เพื่อกรองระเบียนที่มี “อันดับ” เท่ากับ 5 −
dataFrame.query("Rank == 5"))
ตัวอย่าง
ต่อไปนี้เป็นรหัสที่สมบูรณ์ -
import pandas as pd # data in the form of list of team rankings Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]] # Creating a DataFrame and add columns dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points']) print"DataFrame...\n",dataFrame # using query to filter rows print"\nFetch Team with Rank 5..\n",dataFrame.query("Rank == 5")
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame... Country Rank Points 0 India 1 100 1 Australia 2 85 2 England 3 75 3 New Zealand 4 65 4 South Africa 5 50 5 Bangladesh 6 40 Fetch Team with Rank 5.. Country Rank Points 4 South Africa 5 50
ตัวอย่าง
เรามาดูตัวอย่างอื่นกัน เรามีเงื่อนไขที่แตกต่างกันในการกรองแถว -
import pandas as pd # data in the form of list of team rankings Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]] # Creating a DataFrame and add columns dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points']) print"DataFrame...\n",dataFrame # using query to filter rows print"\nFetch Team with points above 70 and Rank less than 3..\n" print(dataFrame.query("Points > 70 and Rank <3"))
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame... Country Rank Points 0 India 1 100 1 Australia 2 85 2 England 3 75 3 New Zealand 4 65 4 South Africa 5 50 5 Bangladesh 6 40 Fetch Team with points above 70 and Rank less than 3.. Country Rank Points 0 India 1 100 1 Australia 2 85