วิธีการคำนวณ deciles ใน python: พร้อมตัวอย่าง


ในทางสถิติ เดซิล คือตัวเลขที่แบ่งชุดข้อมูลออกเป็นสิบกลุ่มซึ่งมีความถี่เท่ากัน

เดไซล์แรกคือจุดที่ 10% ของค่าข้อมูลทั้งหมดอยู่ต่ำกว่า เดไซล์ที่สองคือจุดที่ 20% ของค่าข้อมูลทั้งหมดอยู่ต่ำกว่านี้ไปเรื่อยๆ

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณเดซิลของชุดข้อมูลใน Python:

 import numpy as np

n.p. percentile (var, np. arange (0, 100, 10))

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

ตัวอย่าง: คำนวณ deciles ใน Python

รหัสต่อไปนี้แสดงวิธีสร้างชุดข้อมูลปลอมที่มีค่า 20 ค่า จากนั้นคำนวณค่าเดไซล์ของชุดข้อมูล:

 import numpy as np

#createdata
data = np. array ([56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
                 89, 90, 91, 92, 93, 93, 94, 95, 97, 99])

#calculate deciles of data
n.p. percentile (data, np. arange (0, 100, 10))

array([56., 63.4, 67.8, 76.5, 83.6, 88.5, 90.4, 92.3, 93.2, 95.2])

วิธีการตีความ deciles มีดังนี้:

  • 10% ของค่าข้อมูลทั้งหมดน้อยกว่า 63.4
  • 20% ของค่าข้อมูลทั้งหมดน้อยกว่า 67.8
  • 30% ของค่าข้อมูลทั้งหมดน้อยกว่า 76.5
  • 40% ของค่าข้อมูลทั้งหมดน้อยกว่า 83.6
  • 50% ของค่าข้อมูลทั้งหมดน้อยกว่า 88.5
  • 60% ของค่าข้อมูลทั้งหมดน้อยกว่า 90.4
  • 70% ของค่าข้อมูลทั้งหมดน้อยกว่า 92.3
  • 80% ของค่าข้อมูลทั้งหมดน้อยกว่า 93.2
  • 90% ของค่าข้อมูลทั้งหมดน้อยกว่า 95.2

โปรดทราบว่าค่าแรกของเอาต์พุต (56) เป็นเพียงค่าต่ำสุดของชุดข้อมูล

ตัวอย่าง: การวางค่าเป็น Deciles ใน Python

หากต้องการวางค่าข้อมูลแต่ละค่าเป็นเดไซล์ เราสามารถใช้ฟังก์ชัน pandas qcut

ต่อไปนี้คือวิธีใช้ฟังก์ชันนี้สำหรับชุดข้อมูลที่เราสร้างขึ้นในตัวอย่างก่อนหน้านี้:

 import pandas as pd

#create data frame
df = pd. DataFrame ({' values ': [56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
                              89, 90, 91, 92, 93, 93, 94, 95, 97, 99]})

#calculate decile of each value in data frame
df[' Decile '] = pd. qcut (df[' values '], 10, labels= False )

#display data frame
df

	values Decile
0 56 0
1 58 0
2 64 1
3 67 1
4 68 2
5 73 2
6 78 3
7 83 3
8 84 4
9 88 4
10 89 5
11 90 5
12 91 6
13 92 6
14 93 7
15 93 7
16 94 8
17 95 8
18 97 9
19 99 9

วิธีการตีความผลลัพธ์มีดังนี้:

  • ค่าข้อมูล 56 อยู่ระหว่างเปอร์เซ็นต์ไทล์ 0% ถึง 10% ดังนั้นจึงอยู่ในเดซิล 0
  • ค่าข้อมูล 58 อยู่ระหว่างเปอร์เซ็นไทล์ 0% ถึง 10% ดังนั้นจึงอยู่ในเดซิล 0
  • ค่าข้อมูล 64 อยู่ระหว่างเปอร์เซ็นไทล์ 10% ถึง 20% ดังนั้นจึงอยู่ในเดซิล 1
  • ค่าข้อมูล 67 อยู่ระหว่างเปอร์เซ็นไทล์ 10% ถึง 20% ดังนั้นจึงตกอยู่ในเดซิล 1
  • ค่าข้อมูล 68 อยู่ระหว่างเปอร์เซ็นไทล์ 20% ถึง 30% ดังนั้นจึงตกอยู่ในเดซิล 2

และอื่นๆ

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

วิธีการคำนวณเปอร์เซ็นต์ไทล์ใน Python
วิธีคำนวณพิสัยระหว่างควอไทล์ใน Python

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

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