วิธีเรียกใช้ฟังก์ชัน sumif ใน pandas


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อค้นหาผลรวมของแถวใน DataFrame แพนด้าที่ตรงตามเกณฑ์ที่กำหนด:

 #find sum of each column, grouped by one column
df. groupby (' group_column '). sum () 

#find sum of one specific column, grouped by one column
df. groupby (' group_column ')[' sum_column ']. sum ()

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้กับกรอบข้อมูลต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['a', 'a', 'b', 'b', 'b', 'c', 'c'],
                   ' points ': [5, 8, 14, 18, 5, 7, 7],
                   ' assists ': [8, 8, 9, 3, 8, 7, 4],
                   ' rebounds ': [1, 2, 2, 1, 0, 4, 1]})

#view DataFrame
df

	team points assists rebounds
0 to 5 8 1
1 to 8 8 2
2 b 14 9 2
3 b 18 3 1
4 b 5 8 0
5 c 7 7 4
6 c 7 4 1

ตัวอย่างที่ 1: เรียกใช้ฟังก์ชัน SUMIF ในคอลัมน์

รหัสต่อไปนี้แสดงวิธีการหาผลรวมคะแนนของแต่ละทีม:

 df. groupby (' team ')[' points ']. sum ()

team
at 13
b 37
c 14

สิ่งนี้บอกเรา:

  • ทีม ‘a’ ได้คะแนนรวม 13 คะแนน
  • ทีม ‘b’ ได้คะแนนรวม 37 คะแนน
  • ทีม ‘c’ ได้คะแนนรวม 14 คะแนน

ตัวอย่างที่ 2: เรียกใช้ฟังก์ชัน SUMIF บนหลายคอลัมน์

รหัสต่อไปนี้แสดงวิธีหาผลรวมของคะแนนและรีบาวด์ของแต่ละทีม:

 df. groupby (' team ')[[' points ', ' rebounds ']]. sum ()

rebound points
team		
at 13 3
b 37 3
c 14 5

ตัวอย่างที่ 3: เรียกใช้ฟังก์ชัน SUMIF บนทุกคอลัมน์

รหัสต่อไปนี้แสดงวิธีค้นหาผลรวมของคอลัมน์ทั้งหมดในกรอบข้อมูลสำหรับแต่ละทีม:

 df. groupby (' team '). sum ()

	points assists rebounds
team			
a 13 16 3
b 37 20 3
c 14 11 5

แหล่งข้อมูลเพิ่มเติม

วิธีเรียกใช้ฟังก์ชัน COUNTIF ใน Pandas
วิธีนับการพบเห็นฝูงแพนด้า
วิธีค้นหาค่าสูงสุดต่อกลุ่มที่ Pandas

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

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