Pandas: วิธีใช้ groupby กับการรวมหลายรายการ


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อใช้ groupby กับการรวมหลายรายการในแพนด้า:

 df. groupby (' team '). agg (
    mean_points=(' points ', np. mean ),
    sum_points=(' points ', np. sum ),
    std_points=(' points ', np. std ))

สูตรเฉพาะนี้จัดกลุ่มแถวของ DataFrame ตามตัวแปรที่เรียกว่า team จากนั้นคำนวณสถิติสรุปหลายๆ รายการสำหรับตัวแปรที่เรียกว่า point

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: การใช้ Groupby กับการรวมหลายรายการใน Pandas

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat'],
                   ' points ': [18, 22, 19, 14, 14, 11],
                   ' assists ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

   team points assists
0 Mavs 18 5
1 Mavs 22 7
2 Mavs 19 7
3 Heat 14 9
4 Heat 14 12
5 Heat 11 9

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

 import numpy as np

#group by team and calculate mean, sum, and standard deviation of points
df. groupby (' team '). agg (
    mean_points=(' points ', np. mean ),
    sum_points=(' points ', np. sum ),
    std_points=(' points ', np. std ))

      mean_points sum_points std_points
team			
Heat 13.000000 39 1.732051
Mavs 19.666667 59 2.081666

ผลลัพธ์จะแสดงค่าเฉลี่ย ผลรวม และส่วนเบี่ยงเบนมาตรฐานของตัวแปร คะแนน สำหรับแต่ละ ทีม

คุณสามารถใช้ไวยากรณ์ที่คล้ายกันเพื่อดำเนินการ groupby และคำนวณการรวมได้มากเท่าที่คุณต้องการ

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานแพนด้าทั่วไปอื่นๆ:

วิธีนับค่าที่ไม่ซ้ำโดยใช้ Pandas GroupBy
วิธีใช้ฟังก์ชันกับ Pandas Groupby
วิธีสร้างพล็อตบาร์จาก Pandas GroupBy

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

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