วิธีใช้ฟังก์ชัน pandas value_counts() (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน value_counts() เพื่อนับความถี่ของค่าที่ไม่ซ้ำในชุดหมีแพนด้า
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
my_series. value_counts ()
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่างที่ 1: ความถี่การนับของค่าที่ไม่ซ้ำ
รหัสต่อไปนี้แสดงวิธีนับการเกิดขึ้นของค่าที่ไม่ซ้ำในชุดหมีแพนด้า:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts () 3 4 4 2 7 2 8 1 9 1 dtype: int64
สิ่งนี้บอกเรา:
- ค่า 3 ปรากฏ 4 ครั้ง
- ค่า 4 ปรากฏขึ้น สองครั้ง
- ค่า 7 ปรากฏขึ้น สองครั้ง
และอื่นๆ
ตัวอย่างที่ 2: ความถี่การนับของค่าที่ไม่ซ้ำ (รวมถึง NaN)
ตามค่าเริ่มต้น ฟังก์ชัน value_counts() จะไม่แสดงความถี่ของค่า NaN
อย่างไรก็ตาม คุณสามารถใช้อาร์กิวเมนต์ dropna เพื่อแสดงความถี่ของค่า NaN ได้:
import pandas as pd import numpy as np #create pandas Series with some NaN values my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9, np.nan, np.nan]) #count occurrences of unique values in Series, including NaNs my_series. value_counts (dropna= False ) 3.0 4 4.0 2 7.0 2 NaN2 8.0 1 9.0 1 dtype: int64
ตัวอย่างที่ 3: นับความถี่สัมพัทธ์ของค่าที่ไม่ซ้ำ
รหัสต่อไปนี้แสดงวิธีใช้อาร์กิวเมนต์ ที่ทำให้เป็นมาตรฐาน เพื่อนับความถี่สัมพัทธ์ของค่าที่ไม่ซ้ำในชุดหมีแพนด้า:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts (normalize= True ) 3 0.4 4 0.2 7 0.2 8 0.1 9 0.1 dtype:float64
สิ่งนี้บอกเรา:
- ค่า 3 แสดงถึง 40% ของค่าทั้งหมดในชุดข้อมูล
- ค่า 4 แสดงถึง 20% ของค่าทั้งหมดในชุดข้อมูล
- ค่า 7 แสดงถึง 20% ของค่าทั้งหมดในชุดข้อมูล
และอื่นๆ
ตัวอย่างที่ 4: การนับความถี่ในถังขยะ
รหัสต่อไปนี้แสดงวิธีใช้อาร์กิวเมนต์ bins เพื่อนับความถี่ของค่าในชุดแพนด้าที่ตกอยู่ในถังขยะที่มีขนาดเท่ากัน:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts (bins= 3 ) (3.0, 5.0] 6 (5.0, 7.0] 2 (7.0, 9.0] 2 dtype: int64
สิ่งนี้บอกเรา:
- มี 6 ค่าระหว่าง 3 ถึง 5
- มี 2 ค่าระหว่าง 5 ถึง 7
- มี 2 ค่าระหว่าง 7 ถึง 9
ตัวอย่างที่ 5: นับความถี่ของค่าใน Pandas DataFrame
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน value_counts() เพื่อคำนวณความถี่ของค่าที่ไม่ซ้ำในคอลัมน์เฉพาะของ Pandas DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [9, 9, 9, 10, 10, 13, 15, 22], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #count occurrences of unique values in 'points' column df[' points ']. value_counts () 9 3 10 2 13 1 15 1 22 1 Name: points, dtype: int64
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:
วิธีใช้ฟังก์ชันอธิบาย() ใน Pandas
วิธีนับจำนวนแถวใน Pandas
วิธีนับการพบเห็นฝูงแพนด้า