วิธีนับการพบเห็นฝูงแพนด้า


บ่อยครั้งที่คุณอาจสนใจที่จะนับจำนวน การสังเกต ต่อกลุ่มใน DataFrame ของแพนด้า

โชคดีที่ทำได้ง่ายโดยใช้ฟังก์ชัน groupby() และ size() โดยมีรูปแบบดังนี้:

 df. groupby (' column_name '). size ()

บทช่วยสอนนี้จะอธิบายตัวอย่างการใช้งานจริงของฟังก์ชันนี้หลายตัวอย่างโดยใช้กรอบข้อมูลต่อไปนี้:

 import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'],
                   'rebounds': [11, 8, 7, 6, 6, 5, 12]})

#display DataFrame
print (df)

  team division rebounds
0 AE 11
1 AW 8
2 BE 7
3 BE 6
4 BW 6
5 CW 5
6 CE 12

ตัวอย่างที่ 1: การนับด้วยตัวแปร

รหัสต่อไปนี้แสดงวิธีการนับจำนวนการสังเกตทั้งหมดต่อทีม:

 #count total observations by variable 'team'
df. groupby (' team '). size ()

team
At 2
B 3
C 2
dtype: int64

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ทีม A มี 2 ข้อสังเกต
  • ทีม B มี 3 ข้อสังเกต
  • ทีม C มี 2 ข้อสังเกต

โปรดทราบว่ารหัสก่อนหน้าจะสร้างชุดข้อมูล ในกรณีส่วนใหญ่ เราต้องการทำงานกับ DataFrame ดังนั้นเราจึงสามารถใช้ฟังก์ชัน reset_index() เพื่อสร้าง DataFrame แทนได้:

 df. groupby (' team '). size (). reset_index (name=' obs ')

        team obs
0 to 2
1 B 3
2 C 2

ตัวอย่างที่ 2: นับและเรียงลำดับตามตัวแปร

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน sort_values() เพื่อเรียงลำดับจำนวนกลุ่มได้

เราสามารถระบุ ascending=False เพื่อเรียงลำดับจำนวนกลุ่มจากมากไปหาน้อย หรือ ascending=True เพื่อเรียงลำดับจากน้อยไปมาก:

 df. groupby (' team '). size (). reset_index (name=' obs '). sort_values ([' obs '], ascending= True )

        team obs
0 to 2
2 C 2
1 B 3

ตัวอย่างที่ 3: การนับด้วยตัวแปรหลายตัว

นอกจากนี้เรายังสามารถนับจำนวนการสังเกตที่จัดกลุ่มตามตัวแปรหลายตัวใน DataFrame ของแพนด้า:

 #count observations grouped by team and division
df. groupby ([' team ',' division ']). size (). reset_index (name=' obs ')

        team division obs
0 A E 1
1 A W 1
2 B E 2
3 B W 1
4 C E 1
5 C W 1

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ข้อสังเกต 1 รายการเป็นของทีม A และดิวิชั่น E
  • ข้อสังเกต 1 รายการเป็นของทีม A และดิวิชั่น W
  • ข้อสังเกต 2 รายการเป็นของทีม B และดิวิชั่น E
  • การสังเกต 1 ครั้งเป็นของทีม B และดิวิชั่น W
  • การสังเกต 1 ครั้งเป็นของทีม C และดิวิชั่น E
  • การสังเกต 1 ครั้งเป็นของทีม C และดิวิชั่น W

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

วิธีคำนวณผลรวมของคอลัมน์ใน Pandas
วิธีการคำนวณค่าเฉลี่ยของคอลัมน์ใน Pandas
วิธีค้นหาค่าสูงสุดของคอลัมน์ใน Pandas

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

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