ในบทช่วยสอนนี้ เราจะดูการวิเคราะห์ข้อมูลด้วยไลบรารี Python pandas ไลบรารี pandas เขียนด้วย C จึงไม่มีปัญหาเรื่องความเร็ว มีชื่อเสียงในการวิเคราะห์ข้อมูล เรามีโครงสร้างเก็บข้อมูล 2 ประเภทใน pandas คือ Series และ DataFrame มาดูทีละอย่าง
1. Series
Series เป็นอาร์เรย์ 1 มิติพร้อมดัชนีและค่าที่ปรับแต่งได้ เราสามารถสร้างอ็อบเจ็กต์ Series ด้วยคลาส pandas.Series(data, index) Series รับข้อมูลเป็นจำนวนเต็ม ลิสต์ ดิกชันนารี มาดูตัวอย่าง
ตัวอย่าง
# นำเข้าไลบรารี pandas import pandas as pd # ข้อมูล data = [1, 2, 3] # สร้างอ็อบเจ็กต์ Series # Series ใช้ดัชนีเริ่มต้นอัตโนมัติ series = pd.Series(data) print(series)
ผลลัพธ์
ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:
0 1 1 2 2 3 dtype: int64
ทำอย่างไรให้มีดัชนีแบบกำหนดเอง? ดูตัวอย่าง
ตัวอย่าง
# นำเข้าไลบรารี pandas import pandas as pd # ข้อมูล data = [1, 2, 3] # ดัชนี index = ['a', 'b', 'c'] # สร้างอ็อบเจ็กต์ Series series = pd.Series(data, index) print(series)
ผลลัพธ์
ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:
a 1 b 2 c 3 dtype: int64
เมื่อเราส่งข้อมูลเป็นดิกชันนารีให้คลาส Series มันจะใช้คีย์เป็นดัชนีและค่าเป็นข้อมูลจริง มาดูตัวอย่าง
ตัวอย่าง
# นำเข้าไลบรารี pandas
import pandas as pd
# ข้อมูล
data = {'a': 97, 'b': 98, 'c': 99}
# สร้างอ็อบเจ็กต์ Series
series = pd.Series(data)
print(series)
ผลลัพธ์
ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:
a 97 b 98 c 99 dtype: int64
เราสามารถเข้าถึงข้อมูลจาก Series โดยใช้ดัชนี มาดูตัวอย่าง
ตัวอย่าง
# นำเข้าไลบรารี pandas
import pandas as pd
# ข้อมูล
data = {'a': 97, 'b': 98, 'c': 99}
# สร้างอ็อบเจ็กต์ Series
series = pd.Series(data)
# เข้าถึงข้อมูลจาก Series โดยใช้ดัชนี
print(series['a'], series['b'], series['c'])
ผลลัพธ์
ถ้ารันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
97 98 99
2. DataFrame
เรารู้แล้วว่าใช้คลาส Series ใน pandas ยังไง มาดูการใช้คลาส DataFrame โครงสร้างข้อมูล DataFrame ใน pandas ที่ประกอบด้วยแถวและคอลัมน์
เราสามารถสร้างอ็อบเจ็กต์ DataFrame ได้จาก ลิสต์, ดิกชันนารี, Series ฯลฯ มาสร้าง DataFrame จากลิสต์
ตัวอย่าง
# นำเข้าไลบรารี pandas
import pandas as pd
# ลิสต์
names = ['Tutorialspoint', 'Mohit', 'Sharma']
ages = [25, 32, 21]
# สร้าง DataFrame
data_frame = pd.DataFrame({'Name': names, 'Age': ages})
# พิมพ์ DataFrame
print(data_frame)
ผลลัพธ์
ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:
Name Age
0 Tutorialspoint 25
1 Mohit 32
2 Sharma 21
มาดูวิธีสร้าง DataFrame โดยใช้ Series
ตัวอย่าง
# นำเข้าไลบรารี pandas
import pandas as pd
# Series
_1 = pd.Series([1, 2, 3])
_2 = pd.Series([1, 4, 9])
_3 = pd.Series([1, 8, 27])
# สร้าง DataFrame
data_frame = pd.DataFrame({"a": _1, "b": _2, "c": _3})
# พิมพ์ DataFrame
print(data_frame)
ผลลัพธ์
ถ้ารันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
a b c 0 1 1 1 1 2 4 8 2 3 9 27
เราสามารถเข้าถึงข้อมูลจาก DataFrames โดยใช้ชื่อคอลัมน์ มาดูตัวอย่าง
ตัวอย่าง
# นำเข้าไลบรารี pandas
import pandas as pd
# Series
_1 = pd.Series([1, 2, 3])
_2 = pd.Series([1, 4, 9])
_3 = pd.Series([1, 8, 27])
# สร้าง DataFrame
data_frame = pd.DataFrame({"a": _1, "b": _2, "c": _3})
# เข้าถึงคอลัมน์ทั้งหมดชื่อ 'a'
print(data_frame['a'])
ผลลัพธ์
ถ้ารันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
0 1 1 2 2 3 Name: a, dtype: int64
สรุป
Pandas มีโครงสร้างข้อมูล Series และ DataFrame ที่ทรงพลังสำหรับการจัดการและวิเคราะห์ข้อมูล