ลองเล่นกับ data ง่าย ๆ สไตล์ ไอซ่าแมน
ลองเล่น data แบบเริ่มต้น กับข้อมูล Covid19
สวัสดีครับในช่วงที่โรคระบาดแบบนี้ หลาย ๆ คนก็คงจะหลีเลี่ยงการออกไปพบปะผู้คน หนึ่งในการใช้เวลาว่างให้เกิดประโยชน์นั้นแต่ละคนก็จะมีวิธีการที่ต่างกันสำหรับผมก็คือจะเริ่มฝึกทักษะทางด้านการวิเคราะห์ข้อมูลให้มากขึ้น ซึ่งในวันนี้ผมจะมานำเสนอการวิเคราะห์ข้อมูล Covid-19 แบบสั้น ๆ เริ่มต้นตั้งแต่การดึงข้อมูลจาก API การทำความสะอาดข้อมูล ไปจนถึงการวิเคราะห์แบบง่าย ๆ ด้วยการ plot กราฟ ถ้าพร้อมแล้วไปลุยกันเลย
ก่อนอื่นให้เราเข้าไปที่ https://colab.research.google.com/ เราจะใช้เจ้า colab นี่และในการฝึก โดยใน colab นี้จะใช้ภาษา python เป็นหลักนะครับ ให้เราสร้าง notebook ขึ้นมา 1 อันจะได้หน้าตาแบบนี้
จากนั้นจึงเริ่ม import lib ต่าง ๆ ที่ต้องใช้
#import lib ที่จำเป็น
import requests
import pandas as pd
import matplotlib.pyplot as plot
request เป็น lib สำหรับการดึงข้อมูลจาก API
pandas จะใช้สำหรับการจัดการข้อมูลในรูปแบบของ Dataframe
matplotib ส่วนตัวนี้จะใช้ในการสร้างกราฟเพื่อแสดงผล
pandas จะใช้สำหรับการจัดการข้อมูลในรูปแบบของ Dataframe
matplotib ส่วนตัวนี้จะใช้ในการสร้างกราฟเพื่อแสดงผล
url_cases = "https://covid19.workpointnews.com/api/cases"
casesData = requests.get(url=url_cases)
ต่อมาจะเป็นการดึงข้อมูลจาก API web ของ covid19.workpointnew.com ซึ่งต้องขอขอบคุณมา ณ ที่นี้
data = casesData.copy()
data['agegroup'] = 'unknown'
ageGroup = {}
ageGroup['1-20'] = (1,20)
ageGroup['20-40'] = (20,40)
ageGroup['40-60'] = (40,60)
ageGroup['60+'] = (60,120)
for k in ageGroup.keys():
lb,ub = ageGroup[k]
data['agegroup'][(data['age']>=lb) & (data['age']<ub)] = k
จากนั้นเราจะทำการแบ่งกลุ่มของข้อมูลของข้อมูลเป็น 5 กลุ่มดังนี้โดยกลุ่มแรกเป็น กลุ่มอายุตั้งแต่ 1–20 ปี ถัดมาคือ 20–40 ปี , 40–60 ปี 60 ปีขึ้นไป , และ กลุ่มที่ไม่ทราบอายุจะระบุว่าเป็น unknown
for index , value in data.iterrows():
if((value.age >= 0.0 and value.age <=120.0)):
pass
else:
data.age[index] = "unknown"
ถัดมาก็คือเราจะทำความสะอาดข้อมูลโดยการเปลี่ยนข้อมูลอายุที่ไม่ได้อยู่ในช่วง 0–120 ปี ให้เป็นข้อมูลที่ไม่ระบุนั่นก็คือ unknown
def plotbar(data,index,name):
posList = range(len(data))
plot.figure(figsize=(16, 6))
plot.bar(posList,data)
plot.title(name)
plot.xticks(posList, index,rotation='vertical')
plot.grid()
plot.show()
plotbar(sumData['age'].values,sumData.index.values,'test deta of Covit-19')
สุดท้ายเราก็ทำการสร้างกราฟขึ้นมาโดยเราจะกำหนดรูปแบบของกราฟในฟังชันก์ที่เราสร้างขึ้น
จบแล้วเป็นยังไงกันบ้าง จากชุดข้อมูลก็คือเราจะเห็นข้อมูลที่ไม่ทราบอายุเยอะเลย วิธีการทำความสะอาดข้อมูลอาจจะมีวิธีที่ดีกว่านี้ ยังไงก็ลองแนะนำมากกันได้นะครับ
https://medium.com/@tao.isaman/%E0%B8%A5%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%A5%E0%B9%88%E0%B8%99%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99-%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5-covid19-9191a2da616f
https://medium.com/@tao.isaman/%E0%B8%A5%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%A5%E0%B9%88%E0%B8%99%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99-%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5-covid19-9191a2da616f
ความคิดเห็น
แสดงความคิดเห็น