วิธีใช้ฟังก์ชัน 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
วิธีนับการพบเห็นฝูงแพนด้า

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

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