Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

หาค่า Mean, Median, Mode ใน Python โดยไม่ใช้ Library

Mean, Median และ Mode เป็นฟังก์ชันทางสถิติที่ใช้บ่อยในการวิเคราะห์ข้อมูล แม้จะมีไลบรารี Python บางตัว...

หา Mean (ค่าเฉลี่ย)

Mean ของรายการตัวเลขเรียกอีกอย่างว่าค่าเฉลี่ยของตัวเลข หาได้โดยการหาผลรวมของตัวเลขทั้งหมดและหารด้วยจำนวนตัวเลข ในตัวอย่างด้านล่าง เราใช้ฟังก์ชัน sum() เพื่อหาผลรวม และฟังก์ชัน len() เพื่อหาจำนวน

ตัวอย่าง

num_list = [21, 11, 19, 3, 11, 5]
# หาผลรวมของตัวเลข
num_sum = sum(num_list)
# หารผลรวมด้วยความยาวของรายการ
mean = num_sum / len(num_list)
print(num_list)
print("Mean of the above list of numbers is: " + str(round(mean, 2)))

ผลลัพธ์

[21, 11, 19, 3, 11, 5]
Mean of the above list of numbers is: 11.67

หา Median (ค่ามัธยฐาน)

Median คือค่ากลางของรายการตัวเลข หากมีจำนวนตัวเลขเป็นคี่ เราจัดเรียงรายการและเลือกค่ากลาง หากจำนวนเป็นคู่ เราเลือกสองค่ากลางและหาค่าเฉลี่ยเป็น median

ตัวอย่าง

num_list = [21, 13, 19, 3, 11, 5]
# จัดเรียงรายการ
num_list.sort()
# หาตำแหน่งของ median
if len(num_list) % 2 == 0:
    first_median = num_list[len(num_list) // 2]
    second_median = num_list[len(num_list) // 2 - 1]
    median = (first_median + second_median) / 2
else:
    median = num_list[len(num_list) // 2]
print(num_list)
print("Median of above list is: " + str(median))

ผลลัพธ์

[3, 5, 11, 13, 19, 21]
Median of above list is: 12.0

หา Mode (ฐานนิยม)

Mode คือตัวเลขในรายการที่เกิดขึ้นบ่อยที่สุด เราคำนวณโดยหาความถี่ของแต่ละตัวเลขที่มีอยู่ในรายการ และเลือกตัวที่มีความถี่สูงสุด

ตัวอย่าง

import collections

# รายการองค์ประกอบสำหรับคำนวณ mode
num_list = [21, 13, 19, 13, 19, 13]
# พิมพ์รายการ
print(num_list)
# คำนวณความถี่ของแต่ละรายการ
data = collections.Counter(num_list)
data_list = dict(data)
# พิมพ์รายการพร้อมความถี่
print(data_list)
# หาความถี่สูงสุด
max_value = max(list(data.values()))
mode_val = [num for num, freq in data_list.items() if freq == max_value]
if len(mode_val) == len(num_list):
    print("No mode in the list")
else:
    print("The Mode of the list is: " + ', '.join(map(str, mode_val)))

ผลลัพธ์

[21, 13, 19, 13, 19, 13]
{21: 1, 13: 3, 19: 2}
The Mode of the list is: 13