Page 112 - python
P. 112
86
เครื่องหมายดําเนินการ % คือ การหารเอาเศษ เชน 3%2 คือ การนํา 3/2 เหลือเศษ 1 ดังนั้น
3%2 เทากับ 1 ในตัวอยางนี้มีจํานวนสมาชิก 6 ดังนั้น 6%2 มีคา 0 คือ หารลงตัว เมื่อหารลงตัวคามัธย
ั
ฐานคือตําแหนงตรงกลาง คือ 3+3/2 มีคาเทากบ 3 โดยคํานวณจาก a+b/2 เมื่อ a คือ ขอมูลที่ตําแหนง
x[int(len(x)/2)-1] และ b คือขอมูลที่ตําแหนง x[int(len(x)/2)] ผลลัพธที่ไดคือ คามัธยฐานของ [1, 2, 3,
3, 5, 7] คือ (3.00 + 3.00/2 มีคาเทากับ 3.00
8.3 การเขยนโปรแกรมคํานวณคาฐานนยม (Mode)
ี
ิ
คาฐานนิยม (Mode) คือคาทพบบอยที่สุด เชน [3, 2, 3, 5, 7, 1] พบวา เลข 3 พบบอยที่สุด
ี่
ดังนั้น คาฐานนิยม คือ 3
ตัวอยางที่ 8.3 การเขียนโปรแกรมคํานวณคาฐานนิยม
x = [3, 2, 3, 5, 7, 2, 1]
u = list(set(x))
m = max(list(map(lambda i: x.count(i), u)))
้
ั
ิ
ั
่
ี
ั
print("ตวแปร u มีคา %s พบตวเลขทเกดบอยสุดจํานวน %d ครง ยังไมรูวาเลขอะไร"%(u,m))
for i in u:
if x.count(i) == m:
print("» พบแลวฐานนิยมคือ คาที่พบบอยสุด %d ครั้ง คือ เลข %d"%(m,i))
ผลลัพธ :
ตัวแปร u มีคา [1, 2, 3, 5, 7] พบตัวเลขที่เกิดบอยสุดจํานวน 2 ครั้ง ยังไมรูวาเลขอะไร
» พบแลวฐานนิยมคือ คาที่พบบอยสุด 2 ครั้ง คือ เลข 2
» พบแลวฐานนิยมคือ คาที่พบบอยสุด 2 ครั้ง คือ เลข 3
ตัวอยางที่ 8.3 ตัวแปร x มีคา [3, 2, 3, 5, 7, 2, 1] ตัวแปร u มีคาที่ไมซ้ํากันเพราะคําสั่ง set() ใช
ิ้
กาจัดคาที่ซ้ํากนทงไป ตัวแปร u จึงมีคา [1, 2, 3, 5, 7] คําสั่ง lambda i: x.count(i) คือ การนับคา i ที่
ํ
ั
ี่
อยูภายในตัวแปร u วามีกตัว ผลลัพธคือ [1, 2, 2, 1, 1, 1] หมายถึง พบเลข 1 จํานวน 1 ตัว , พบเลข 2
จํานวน 2 ตัว , พบเลข 3 จํานวน 2 ตัว พบเลข 5 จํานวน 1 ตัว และพบเลข 7 จํานวน 1 ตัว
วนเขาไปในตัวแปร u คือ [1, 2, 3, 5, 7] และตรวจวาคา x.count() ที่มีคาเทากับ m ซึ่งเปนคาท ี่
มีความถี่สูงสุด ถาพบแลวใหพมพคาฐานนิยมดวยคําสั่ง print("» พบแลวฐานนิยมคือ คาที่พบบอย
ิ
สุด %d ครั้ง คือ เลข %d"%(m,i)) ดังนั้น ผลลัพธจะมีคาฐานนิยมอยู 2 คา คือ เลข 2 และ เลข 3
8.4 การเขยนโปรแกรมคํานวณคาเบียงเบนมาตรฐาน
่
ี
คาเบียงเบนมาตรฐาน คํานวณจากสูตร
่
∑| − | ̅
=