Professional Documents
Culture Documents
ใบความรู้ที่ 7.1
ใบความรู้ที่ 7.1
1. รู้้�จัักโมดููล Pandas
ใบความรู้ที่ 7.1
Pandas เป็็นไลบรารีี Python แบบ open-source ที่่�มีีเครื่่�องมืือจััดการและวิิเคราะห์์
ข้้อมููลประสิิทธิิภาพสููงโดยใช้้โครงสร้้างข้้อมููลที่่�ชื่่�อ Pandas มาจากคำว่่า Panel Data
จัดการข้อมูล
ด้วยไพทอน
• โครงสร้้างข้้อมููลของ Pandas
ข้้อมููลที่่�เก็็บใน Pandas มัักจะอยู่่�ในรููปแบบ DataFrame ซึ่่�งเป็็นโครงสร้้างข้้อมููล
คำชี้แจง แบบ 2 มิิติิ ประกอบด้้วยแถวและคอลััมน์์
สามารถทดสอบโปรแกรมได้
จากไฟล์ชื่อ “ใบความรู้ที่ 7.1.ijynb”
โดยใช้ไฟล์ data.csv
สำ�หรับทดสอบ
ตััวอย่่าง เช่่น
แบบไม่่มีีหััวตาราง
import pandas as pd #เรียกใช้โมดูล Pandas และกำ�หนดชื่อ pd
stdData = pd.read_csv(‘data.csv’) #อ่านไฟล์
print(stdData) #แสดงผล
แบบมีีหััวตาราง
import pandas as pd
stdData = pd.read_csv(‘data.csv’,names =
[‘Name’,‘Score1’,‘Score2’])
print(stdData)
KIDBRIGHT
เรียนรู้วิทยาการข้อมูลกับอุตุน้อย 145
• การแสดงข้้อมููล
การแสดงข้อมูล 5 ชุดแรก
import pandas as pd
stdData = pd.read_csv(‘data.csv’,names =
[‘Name’,‘Score1’,‘Score2’])
print(stdData[‘Name’].head(5)) #แสดงชื่อ 5 ลำ�ดับแรก
การแสดงข้อมูลตามเงื่อนไข
import pandas as pd
stdData = pd.read_csv(‘data.csv’,names =
[‘Name’,‘Score1’,‘Score2’])
print(stdData[stdData.Score1 >= 50]) #แสดงข้อมูลใน stdData ที่มี Score1
มากกว่าหรือเท่ากับ 50
import pandas as pd
stdData = pd.read_csv(‘data.csv’,names =
[‘Name’,‘Score1’,‘Score2’])
print(stdData[stdData.Name == “anake”])
146 KIDBRIGHT
เรียนรู้วิทยาการข้อมูลกับอุตุน้อย
Lesson 1 2 3 4 5 6 7 8 9 10
• การประมวลผล
การเรียงข้อมูล
import pandas as pd
stdData = pd.read_csv(‘data.csv’,names =
[‘Name’,‘Score1’,‘Score2’])
df = pd.DataFrame(stdData)
df[‘Summation’] = df[‘Score1’] + df[‘Score2’]
print(stdData.sort_values(by = [‘Summation’], ascending=False))
#แสดงข้อมูลใน stdData เรียงลำ�ดับตาม Summation
การเรียงข้อมูลและแสดงผลตามเงื่อนไข
import pandas as pd
stdData = pd.read_csv(‘data.csv’,names =
[‘Name’,‘Score1’,‘Score2’])
df = pd.DataFrame(stdData)
df[‘Summation’] = df[‘Score1’] + df[‘Score2’]
print(stdData.sort_values(by = [‘Summation’], ascending=False)
.head(5)) #แสดงข้อมูลใน stdData ที่มี Summation สูงสุด 5 อันดับแรก
KIDBRIGHT
เรียนรู้วิทยาการข้อมูลกับอุตุน้อย 147
1. การสร้้างกราฟเส้้น
ใบความรู้ที่ 7.2
กราฟเส้้นเหมาะสำหรัับการแสดงผลชุุดข้อ้ มููลที่่ต้้� องการแสดงถึึงความต่่อเนื่่อ� งของชุุด
ข้้อมููล หรืือมีีช่่วงเวลามาเกี่่ย� วข้้อง
นำ�เสนอภาพ
ด้วยไพทอน
ตััวอย่่างชุุดคำสั่่�ง
คำชี้แจง #เรียกใช้โมดูลสำ�หรับจัดการข้อมูลและสร้างกราฟ
import pandas as pd
สามารถทดสอบชุดคำ�สั่งได้ import matplotlib.pyplot as plt
จากไฟล์ชื่อ“ใบความรู้ที่ 7.2.ijynb”
โดยใช้ไฟล์ utunoi_b.csv #อ่านไฟล์ข้อมูล
สำ�หรับทดสอบ df = pd.read_csv(‘utunoi_b.csv’, index_
col=‘Month’) ตััวอย่่างผลลััพธ์์
#เลือกข้อมูลที่จะนำ�มาแสดงผล
df=df[[‘temp’]]
#สร้างกราฟเส้น
plt.plot(df, marker=‘s’)
plt.grid()
plt.xlabel(‘Time’)
plt.ylabel(‘Temperature (C)’)
2. กราฟแท่่ง
เหมาะสำหรัับการแสดงผลข้้อมููลที่่�ต้้องการเปรีียบเทีียบข้้อมููลแต่่ละส่่วนหรืือ
แต่่ละประเภท โดยข้้อมููลไม่่มีีความต่่อเนื่่�องกััน
ตััวอย่่างชุุดคำสั่่�ง
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(‘utunoi_b.csv’)
pvt=df.pivot_table(index=[‘Month’])
pvt.temp.plot(kind=‘bar’)
#หรือ pvt.plot(kind=’bar’)
ตััวอย่่างผลลััพธ์์
148 KIDBRIGHT
เรียนรู้วิทยาการข้อมูลกับอุตุน้อย
Lesson 1 2 3 4 5 6 7 8 9 10
3. แผนภาพการกระจาย
เหมาะสำหรัับการแสดงผลข้้อมููลที่่�ต้้องการตรวจสอบการกระจายตััวของข้้อมููลหรืือ
แนวโน้้มของข้้อมููล
ตััวอย่่างชุุดคำสั่่�ง
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(‘utunoi_b.csv’)
x = df[‘humid’]
y = df[‘temp’]
plt.scatter(x, y)
plt.xlabel(‘humid’)
plt.ylabel(‘temperature’)
ตััวอย่่างผลลััพธ์์
KIDBRIGHT
เรียนรู้วิทยาการข้อมูลกับอุตุน้อย 149