ไลบรารี pdpipe ให้เครื่องมือสร้าง Pipeline สำหรับการแปลงข้อมูล (Data Transformation) แบบขั้นตอน (step-by-step) ซึ่งทำให้โค้ดอ่านง่าย จัดการได้ง่าย และนำไปใช้ซ้ำได้ ในที่นี้จะสาธิตการลบคอลัมน์ออกจาก DataFrame ด้วย ColDrop
ขั้นตอนการทำงาน
1. ติดตั้งและนำเข้าไลบรารี
pip install pdpipe
import pdpipe as pdp
import pandas as pd
2. สร้าง DataFrame ตัวอย่าง
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
3. สร้าง Pipeline ลบคอลัมน์ "Units"
# สร้าง stage ลบคอลัมน์
drop_units = pdp.ColDrop("Units")
# ใช้ pipeline กับ DataFrame
resDF = drop_units.apply(dataFrame)
โค้ดตัวอย่างสมบูรณ์
import pdpipe as pdp
import pandas as pd
# สร้าง DataFrame
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
print("DataFrame เดิม:\n", dataFrame)
# ลบแถวที่ Car == 'Jaguar' (ตัวอย่างเพิ่มเติม)
dataFrame = pdp.ValDrop(['Jaguar'], 'Car').apply(dataFrame)
print("\nDataFrame หลังลบแถว Jaguar:\n", dataFrame)
# ลบคอลัมน์ Units
resDF = pdp.ColDrop("Units").apply(dataFrame)
print("\nDataFrame หลังลบคอลัมน์ Units:\n", resDF)
ผลลัพธ์
DataFrame เดิม:
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
DataFrame หลังลบแถว Jaguar:
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
DataFrame หลังลบคอลัมน์ Units:
Car
0 BMW
1 Lexus
2 Audi
3 Mustang
4 Bentley
ข้อดีของ pdpipe
- สร้าง Pipeline ที่ใช้ซ้ำได้ (reusable)
- รองรับการ chain หลายขั้นตอน (fit -> transform)
- มี stage สำเร็จรูปมากมาย: ColDrop, ValDrop, ApplyByCols, OneHotEncode, ฯลฯ
- เข้ากันได้กับ scikit-learn Pipeline
การติดตั้ง
pip install pdpipe