Pandas: วิธีนับค่าในคอลัมน์ที่มีเงื่อนไข
คุณสามารถใช้วิธีต่อไปนี้เพื่อนับจำนวนค่าในคอลัมน์ Pandas DataFrame โดยมีเงื่อนไขเฉพาะ:
วิธีที่ 1: นับค่าในคอลัมน์ที่มีเงื่อนไข
len(df[df[' col1 ']==' value1 '])
วิธีที่ 2: นับค่าในหลายคอลัมน์โดยมีเงื่อนไข
len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
' pos ': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
' points ': [18, 22, 19, 14, 14, 11, 20, 28]})
#view DataFrame
print (df)
team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28
ตัวอย่างที่ 1: นับค่าในคอลัมน์ที่มีเงื่อนไข
รหัสต่อไปนี้แสดงวิธีนับจำนวนค่าในคอลัมน์ ทีม โดยที่ค่าเท่ากับ “A”:
#count number of values in team column where value is equal to 'A' len(df[df[' team ']==' A ']) 4
เราจะเห็นได้ว่ามี 4 ค่าในคอลัมน์ทีมโดยมีค่าเท่ากับ “A”
ตัวอย่างที่ 2: นับค่าในหลายคอลัมน์โดยมีเงื่อนไข
รหัสต่อไปนี้แสดงวิธีการนับจำนวนแถวใน DataFrame โดยที่คอลัมน์ ทีม เท่ากับ “B” และคอลัมน์ pos เท่ากับ “Gu”:
#count rows where team is 'B' and pos is 'Gu' len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')]) 2
เราจะเห็นได้ว่ามี 2 แถวใน DataFrame ที่ตรงตามเงื่อนไขทั้งสองนี้
เราสามารถใช้ไวยากรณ์ที่คล้ายกันเพื่อนับจำนวนบรรทัดที่ตรงตามเงื่อนไขจำนวนที่ต้องการ
ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการนับจำนวนแถวที่ตรงตามเงื่อนไขสามข้อ:
- ทีม เท่ากับ ‘B’
- pos เท่ากับ ‘Gu’
- คะแนน มากกว่า 12
#count rows where team is 'B' and pos is 'Gu' and points > 15 len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ') & (df[' points ']> 12 )]) 1
เราจะเห็นว่าแถว เดียว ของ DataFrame ตรงตามเงื่อนไขทั้งสามประการ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
นุ่น: วิธีค้นหาความแตกต่างระหว่างสองบรรทัด
Pandas: วิธีลบบรรทัดที่มีสตริงเฉพาะ
Pandas: วิธีลบแถวที่ซ้ำกันใน DataFrame