Pandas คืออะไร?
Pandas เป็นไลบรารีในภาษา Python ที่ใช้สำหรับการจัดการและวิเคราะห์ข้อมูลในรูปแบบตาราง (Tabular Data) เช่น ไฟล์ CSV และ Excel Pandas ช่วยให้การจัดการข้อมูลมีความง่ายและสะดวก โดยมีสองโครงสร้างข้อมูลสำคัญคือ Series และ DataFrame
1. โครงสร้างข้อมูล Series
Series เป็นโครงสร้างข้อมูลแบบหนึ่งมิติ (1D) ที่มีดัชนี (Index) กำกับในแต่ละค่า คล้ายกับ List หรือ Dictionary
ตัวอย่างการใช้งาน Series:
import pandas as pd
# สร้าง Series
scores = pd.Series([90, 85, 88], index=["John", "Mary", "Anna"])
print(scores)
# การเข้าถึงข้อมูลด้วย Index
print("คะแนนของ Mary:", scores["Mary"])
ผลลัพธ์:
John 90
Mary 85
Anna 88
dtype: int64
คะแนนของ Mary: 85
ตัวอย่างการใช้งาน Series เก็บคะแนน 5 วิชา
import pandas as pd
# สร้าง Series เก็บเฉพาะคะแนน
grades = pd.Series([85, 90, 78, 88, 92])
# แสดง Series
print(grades)
Output:
0 85
1 90
2 78
3 88
4 92
dtype: int64
ใน Series นี้:
- ดัชนี (Index) จะเป็นค่าตั้งต้น (
0, 1, 2, ...
) ที่ pandas กำหนดอัตโนมัติ - ค่าใน Series จะเก็บเฉพาะคะแนน (
85, 90, 78, ...
) ครับ
2. โครงสร้างข้อมูล DataFrame
DataFrame เป็นโครงสร้างข้อมูลแบบสองมิติ (2D) ที่มีลักษณะคล้ายกับตาราง มีทั้งแถวและคอลัมน์
ตัวอย่างการใช้งาน DataFrame
import pandas as pd
# สร้าง DataFrame
data = {
"Name": ["John", "Mary", "Anna"],
"Score": [90, 85, 88]
}
df = pd.DataFrame(data)
print(df)
# การเข้าถึงข้อมูลใน DataFrame
print("คะแนนของ John:", df.loc[0, "Score"])
ผลลัพธ์:
Name Score
0 John 90
1 Mary 85
2 Anna 88
คะแนนของ John: 90
ตัวอย่างการใช้ DataFrame เก็บข้อมูลชื่อประเทศ และชื่อเมืองหลวงในอาเซียน
import pandas as pd
# ข้อมูลชื่อประเทศและเมืองหลวงในอาเซียน
data = [
['Brunei', 'Bandar Seri Begawan'],
['Cambodia', 'Phnom Penh'],
['Indonesia', 'Jakarta'],
['Laos', 'Vientiane'],
['Malaysia', 'Kuala Lumpur'],
['Myanmar', 'Naypyidaw'],
['Philippines', 'Manila'],
['Singapore', 'Singapore'],
['Thailand', 'Bangkok'],
['Vietnam', 'Hanoi']
]
# สร้าง DataFrame
asean_countries = pd.DataFrame(data, columns=['Country', 'Capital'])
# แสดง DataFrame
print(asean_countries)
Output:
Country Capital
0 Brunei Bandar Seri Begawan
1 Cambodia Phnom Penh
2 Indonesia Jakarta
3 Laos Vientiane
4 Malaysia Kuala Lumpur
5 Myanmar Naypyidaw
6 Philippines Manila
7 Singapore Singapore
8 Thailand Bangkok
9 Vietnam Hanoi
ตัวอย่างการใช้ DataFrame สำหรับเก็บข้อมูลสัตว์ป่าสงวนของไทยเป็นภาษาไทยและภาษาอังกฤษ
import pandas as pd
# ข้อมูลสัตว์ป่าสงวนของไทย
data = [
['สมัน', 'Schomburgk\'s Deer'],
['กูปรี', 'Kouprey'],
['กระซู่', 'Sumatran Rhinoceros'],
['เลียงผา', 'Serow'],
['นกเจ้าฟ้าหญิงสิรินธร', 'Princess Sirindhorn Bird'],
['สมเสร็จ', 'Malayan Tapir'],
['ควายป่า', 'Wild Water Buffalo'],
['นกแต้วแล้วท้องดำ', 'Gurney\'s Pitta'],
['พะยูน', 'Dugong'],
['เต่ามะเฟือง', 'Leatherback Turtle'],
['ลิงอ้ายเงี้ยะ', 'Pileated Gibbon'],
['จระเข้น้ำจืด', 'Siamese Crocodile'],
['แรด', 'Javan Rhinoceros']
]
# สร้าง DataFrame
wildlife_conservation = pd.DataFrame(data, columns=['ชื่อภาษาไทย', 'ชื่อภาษาอังกฤษ'])
# แสดงผลลัพธ์
print(wildlife_conservation)
ผลลัพธ์:
ชื่อภาษาไทย ชื่อภาษาอังกฤษ
0 สมัน Schomburgk's Deer
1 กูปรี Kouprey
2 กระซู่ Sumatran Rhinoceros
3 เลียงผา Serow
4 นกเจ้าฟ้าหญิงสิรินธร Princess Sirindhorn Bird
5 สมเสร็จ Malayan Tapir
6 ควายป่า Wild Water Buffalo
7 นกแต้วแล้วท้องดำ Gurney's Pitta
8 พะยูน Dugong
9 เต่ามะเฟือง Leatherback Turtle
10 ลิงอ้ายเงี้ยะ Pileated Gibbon
11 จระเข้น้ำจืด Siamese Crocodile
12 แรด Javan Rhinoceros
3. การดำเนินการกับ DataFrame
เพิ่มข้อมูลใน DataFrame:
df["Subject"] = ["Math", "Science", "English"]
print(df)
ลบข้อมูลใน DataFrame:
df = df.drop(columns=["Subject"])
print(df)
การกรองข้อมูลใน DataFrame:
high_scores = df[df["Score"] > 85]
print(high_scores)
ข้อดีของ Pandas
- ช่วยให้การจัดการข้อมูลที่ซับซ้อนเป็นเรื่องง่าย
- รองรับการนำเข้าข้อมูลจากหลายแหล่ง เช่น CSV, Excel
- มีฟังก์ชันหลากหลายสำหรับการจัดการและวิเคราะห์ข้อมูล
แบบฝึกหัดท้ายใบความรู้
- สร้าง Series ที่เก็บคะแนนของนักเรียน 3 คน พร้อมระบุชื่อเป็นดัชนี
- สร้าง DataFrame ที่เก็บข้อมูลชื่อ วิชา และคะแนนของนักเรียน 3 คน
- เพิ่มคอลัมน์ใหม่ใน DataFrame เพื่อระบุเกรดของนักเรียน
ความแตกต่างระหว่าง Series และ DataFrame
คุณสมบัติ | Series | DataFrame |
---|---|---|
มิติ | หนึ่งมิติ (1D) | สองมิติ (2D) |
ข้อมูลที่เก็บได้ | ข้อมูลรายการเดี่ยว เช่น คะแนน, ราคา | ข้อมูลเชิงตาราง เช่น ชื่อคนและเบอร์โทร หรือ ประเทศกับเมืองหลวง |
การเข้าถึงข้อมูล | ใช้ index เพื่อระบุ | ใช้ index และ column เพื่อระบุ |
การใช้งาน | เหมาะกับข้อมูลเดี่ยว มีลักษณะเป็น list | เหมาะกับข้อมูลตาราง มีแถวและคอลัมน์ |
สรุป
- ใช้ Series เมื่อข้อมูลมีเพียงมิติเดียว (เช่น คะแนนวิชาเดียว, ราคา 1 ชุด)
- ใช้ DataFrame เมื่อข้อมูลเป็นตารางที่มีหลายคอลัมน์ (เช่น ตารางคะแนนหลายวิชา, รายละเอียดนักเรียน)
ถ้าต้องการข้อมูลขนาดใหญ่ในอนาคต DataFrame จะยืดหยุ่นมากกว่าเพราะสามารถเพิ่มคอลัมน์ได้ง่ายครับ!
สรุป
Pandas เป็นเครื่องมือที่ทรงพลังในการจัดการข้อมูล โดยมีโครงสร้างข้อมูลหลักอย่าง Series และ DataFrame ที่ช่วยให้นักเรียนสามารถดำเนินการต่าง ๆ กับข้อมูลได้อย่างง่ายดายและมีประสิทธิภาพ การเรียนรู้การใช้งาน Pandas จะช่วยให้นักเรียนสามารถนำไปประยุกต์ใช้ในงานด้านการวิเคราะห์ข้อมูล และพัฒนาทักษะการจัดการข้อมูลในสถานการณ์จริงได้อย่างมืออาชีพ