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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *