ข้อมูลที่ผมจะใช้ในบทความนี้
ผู้บาดเจ็บและเสียชีวิต ในช่วงเทศกาล ปี 51-58_CutName_NewYear_Edit จัดทำโดย : สถาบันการแพทย์ฉุกเฉินแห่งชาติ ข้อมูลผู้บาดเจ็บและเสียชีวิตในเทศกาลปีใหม่ประจำปี 2551 - 2557 จำแนกตามโรงพยาบาลทั่วประเทศ ลิงค์ข้อมูล http://data.go.th/DatasetDetail.aspx?id=7d61f508-d2e1-4f0c-8408-dfde29f111f5
โหลดข้อมูลไฟล์ xlsx ได้จาก
http://data.go.th/DatasetDetail.aspx?id=7d61f508-d2e1-4f0c-8408-dfde29f111f5
แล้วทำการบันทึกไฟล์เป็นไฟล์ชื่อ data.xlsx
บทความนี้ผมต้องการเฉพาะข้อมูลจำนวน % เหตุการณ์ที่เกิดจากการดิ่มสุราที่กิดขึ้นในช่วงเทศกาลปีใหม่ ปี 2557 โดยแยกตามจังหวัด และประมวลผลเป็น % จากเหตุการณ์ที่เกิดจากการดื่มสุราของแต่ละจังหวัดในระดับประเทศ เนื่องจากโค้ดที่ผมเขียนยาวมาก จึงไม่สามารถอธิบายได้หมดแบบบทความก่อน ๆ ได้
คำเตือน!
การเปิดไฟล์ xlsx ในภาษาไพทอนต้องใช้ทรัพยากรหน่วยความจำหลักค่อนข้างสูง แนะนำให้ศึกษารันโค้ดจากคอมพิวเตอร์ที่มีแรมมากกว่า 4 GB ขึ้นไป และมี CPU มากกว่า 1 GHz และอาจจะใช้ pypy แทน CPython ในการรันโค้ดนี้หรือโค้ดที่มีการเรียกใช้งานไฟล์ xlsx ที่มีขนาดใหญ่ได้
อย่าทำร้ายคอมพิวเตอร์ของคุณ ด้วยความหวังดีจากผู้เขียน
จากโค้ด ผมขออธิบายเฉพาะบางบรรทัดครับ
- บรรทัดที่ 5 - 13 เป็นข้อมูล list จังหวัดในแต่ละภาค แล้วมีตัวแปร allthailand รวมทุกจังหวัดเข้าด้วยกัน
- บรรทัดที่ 14 -16 เป็นการสร้างตัวแปรสำหรับใช้เก็บข้อมูลจำนวนเหตุการณ์เป็นข้อมูลชนิด dict
- บรรทัดที่ 31 - 45 เป็นการลูปเพื่อโหลดข้อมูลจำนวนเหตุการณ์ตามที่กำหนดเข้าไปเพิ่มค่าใน dict ตามตัวแปรที่กำหนด โดยอ้างอิง index เป็นชื่อจังหวัดจากตัวแปร save บรรทัดที่ 35
- บรรทัดที่ 60 -90 เป็นระบบสร้างไฟล์รายงานออกมาเป็นรายจังหวัดตาม list ที่มี ออกมาเป็นกราฟวงกลมแสดง % เหคุการณ์ที่เกิดจากการดื่มสุราแต่ละจังหวัด
- บรรทัดที่ 98 -106 เป็นการหา % จากการดื่มสุราแต่ละจังหวัดมาหา % จากเหตุการณ์ที่เกิดจากการดื่มสุราทั้งประเทศ ตามที่มีในข้อมูล
ลองแกะโค้ดกันดูครับ
ลองรันโค้ด ใช้เวลาประมวลผลประมาณ 10 นาที
ผลลัพธ์

ดูตัวอย่างผลลัพธ์ได้ที่ https://python3.wannaphong.com/lab/python-lab1/ (ให้ทำการกำหนดการ encode หน้าเว็บเพจเป็น UTF-8) และ https://python3.wannaphong.com/lab/python-lab1/สุพรรณบุรี-ปีใหม่57.html
ดูกราฟวงกลมตามรูปได้ที่ https://python3.wannaphong.com/lab/python-lab1/เหตุการณ์ที่เกิดจากการดิ่มสุรา57.html
จะได้ไฟล์ html ที่กำหนดไว้ ให้เริ่มต้นโดยการเปิดไฟล์ index.html
โจทย์ที่ต้องนำไปพัฒนาต่อ
- นำไปพัฒนาต่อให้แสดงกราฟทั้งปี 2551 - 2558 ในไฟล์ HTML เดียวกัน
- ปรับแต่งออกแบบให้ไฟล์ที่ออกมาสวยงามยิ่งขึ้น
- ปรับแต่งประสิทธิภาพของโค้ดไพทอนให้สามารถทำงานได้รวดเร็วยิ่งขึ้นกว่านี้
- ทำกราฟปี 2551 - 2558 เป็นกราฟเส้นแต่ละปี มาเปรียบกัน
- แสดงจำนวนโรงพยาบาลที่รักษาในข้อมูลที่รายงาน
- จำนวนผู้บาดเจ็บและผู้เสียชีวิต
และอื่น ๆ นำไปคิดกันดูครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)