1. การติดตั้งโมดูล Pandas ในโปรแกรม Thonny
ในบทเรียนนี้เราจะใช้ IDE ที่ชื่อว่า Thonny ในการเขียนโปรแกรมภาษา Python ซึ่งตัวโปรแกรมสามารถคอมไพล์ (compile) โค้ดคำสั่งพื้นฐานได้เลย แต่เนื่องด้วยในบทเรียนนี้ เราจำเป็นต้องใช้โมดูล Pandas เข้ามาช่วยในการประมวลผล ดังนั้น เราต้องติดตั้งโมดูลเสริมก่อนเริ่มเขียนโปรแกรม
2. โครงสร้างข้อมูลของ Pandas
เป็นข้อมูลที่เก็บอยู่ในรูปแบบของชุดข้อมูลแบบ Series หรือ DataFrame ดังนี้
2.1 ข้อมูลที่เก็บเป็น Series
ข้อมูลที่เก็บเป็น Series มีลักษณะคล้ายลิสต์ของข้อมูลหนึ่งมิติ หากผู้ใช้ไม่กำหนดดัชนี Pandas จะกำหนดดัชนีเริ่มต้นตั้งแต่ 0 ถึง จำนวนข้อมูลใน Series – 1 ดังตัวอย่างต่อไปนี้
s=pd.Series ([18,20,15,6,9,10,20,19,17,13,16,7,14,15,20])
print(s)
• บรรทัดที่ 1 นำโมดูล pandas เข้ามาใช้ในโปรแกรม แล้วอ้างถึงข้อมูลนี้ด้วยชื่อ pd
• บรรทัดที่ 2 กำหนดตัวแปร s เป็นชุดข้อมูล Series ที่ระบุภายในฟังก์ชัน Series()
• บรรทัดที่ 3 แสดงผลชุดข้อมูลในตัวแปร s
2.2 ข้อมูลที่เก็บเป็น DataFrame
ข้อมูลที่เก็บเป็น DataFrame มีลักษณะคล้ายตาราง (สองมิติขึ้นไป) หากผู้ใช้ไม่กำหนดดัชนี Pandas จะกำหนดดัชนีเริ่มต้นตั้งแต่ 0 ถึง จำนวนข้อมูลในแต่ละมิติ – 1 ดังตัวอย่างต่อไปนี้
df=pd.DataFrame([[1,’a’],[2,’b’],[3,’c’]])
print(df)
• บรรทัดที่ 1 นำโมดูล pandas เข้ามาใช้ในโปรแกรม แล้วอ้างถึงข้อมูลนี้ด้วยชื่อ pd
• บรรทัดที่ 2 กำหนดตัวแปร df เป็นชุดข้อมูล DataFrame ที่ระบุภายในฟังก์ชัน DataFrame()
• บรรทัดที่ 3 แสดงผลชุดข้อมูลในตัวแปร df
2.3 ไฟล์ข้อมูลในรูปแบบซีเอสวี
ไฟล์รูปแบบซีเอสวี หรือ CSV (comma separated values: CSV) เป็นไฟล์ข้อมูลที่ข้อมูลแต่ละตัวในแถวเดียวกัน (บรรทัดเดียวกัน) ถูกคั่นด้วยเครื่องหมาย , (comma) โดยอาจมีแถวแรกสุดเป็นชื่อของแต่ละคอลัมน์หรือหัวตาราง ตัวอย่างเช่น ข้อมูลนักเรียน 20 คน ประกอบด้วยเลขประจำตัวนักเรียน เพศ (1 แทนเพศชาย 2 แทนเพศหญิง) คะแนนสอบวิชาวิทยาการคำนวณ และส่วนสูง มีรูปแบบข้อมูลดังนี้
(สามารถดาวน์โหลดไฟล์นี้ได้จากเว็บไซต์ http://oho.ipst.ac.th/studentData.csv หรือคลิกที่ปุ่มด้านล่าง)
เมื่อได้ไฟล์ CSV มาแล้ว ขั้นตอนต่อไปเราจะเริ่มประมวลผลข้อมูลโดยการใช้ฟังก์ชัน read_csv() เพื่อนำข้อมูลจากไฟล์ CSV เข้ามาเก็บใน DataFrame โดยในตัวอย่างนี้เราจะเขียนโปรแกรมใน https://repl.it เนื่องจากสามารถจัดการไฟล์ได้ง่ายกว่า Thonny มีขั้นตอนดังนี้
sdata=pd.read_csv(‘studentData.csv’,delimiter=’,’)
print(sdata)
นอกจากนี้ ในการแสดงข้อมูลใน DataFrame ออกทางจอภาพ สามารถใช้ฟังก์ชัน print() แสดงผลลัพธ์ในรูปแบบต่างๆ ได้ โดยสามารถทดลอง Run คำสั่งต่างๆ ตามตัวอย่าง แล้วทำความเข้าใจ พร้อมอธิบายการทำงานของการใช้คำสั่งแต่ละแบบได้
print(sdata.head(2)) #แสดงข้อมูล 2 แถวแรก (2 บรรทัดบนสุด)
print(sdata.tail(2)) #แสดงข้อมูล 2 แถวสุดท้าย (2 บรรทัดล่างสุด)
2.4 การนับจำนวนข้อมูลแต่ละคอลัมน์ใน DataFrame
ข้อมูลใน DataFrame ที่รับมาจากไฟล์ CSV นั้น สามารถนำไปประมวลผลตามที่ต้องการ เพื่อให้ได้ผลลัพธ์ทางสถิติที่เป็นประโยชน์ เช่น ค่าเฉลี่ย ค่าสูงสุด ค่าต่ำสุด จำนวนข้อมูล เป็นต้น
การนับจำนวนข้อมูลแต่ละคอลัมน์ใน DataFrame ทำได้โดยใช้ฟังก์ชัน count() ดังนี้
sdata=pd.read_csv(‘studentData.csv’,delimiter=’,’)
print(sdata.count())
การนับจำนวนข้อมูลเพียงคอลัมน์เดียวจาก DataFrame สามารถใช้คำสั่งในรูปแบบต่อไปนี้
sdata=pd.read_csv(‘studentData.csv’,delimiter=’,’)
print(sdata[‘เลขประจำตัว‘].count())
2.5 การทำข้อมูลให้เป็นภาพ
การทำให้ข้อมูลให้เป็นภาพ (Data Visualization) เป็นขั้นตอนหนึ่งของการประมวลผลข้อมูลขนาดใหญ่ เพื่อให้การนำเสนอข้อมูลจำนวนมากเข้าใจได้ง่ายขึ้นกว่ารูปแบบตาราง พร้อมนำผลสรุปที่ได้ไปใช้ประโยชน์ได้อย่างชัดเจน ซึ่งอาจะนำเสนอได้ทั้งรูปภาพ แผนภูมิ หรือสื่อที่มีปฏิสัมพันธ์กับผู้ใช้
[Image of data visualization types chart]