วิธีนับการพบเห็นฝูงแพนด้า
บ่อยครั้งที่คุณอาจสนใจที่จะนับจำนวน การสังเกต ต่อกลุ่มใน 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