สมมติว่า คุณมี dataframe และผลลัพธ์สำหรับฟังก์ชัน table-wise คือ
Table wise function: Id Mark 0 6.0 85.0 1 7.0 95.0 2 8.0 75.0 3 9.0 90.0 4 10.0 95.0
วิธีแก้ปัญหา
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -
-
กำหนดดาต้าเฟรม
-
สร้างฟังก์ชันที่ผู้ใช้กำหนดโดยเฉลี่ยด้วยสองอาร์กิวเมนต์และส่งคืนผลลัพธ์เป็น (a+b/2) มีการกำหนดไว้ด้านล่าง
def avg(a,b): return (a+b/2)
-
ใช้ฟังก์ชัน pipe() เพื่อดำเนินการฟังก์ชันแบบตารางภายในค่าแรกเป็น avg() และอาร์กิวเมนต์ที่สองเป็น 10 เพื่อคำนวณค่าเฉลี่ยของค่าดาต้าเฟรมทั้งหมด
df.pipe(avg,10)
ตัวอย่าง
มาตรวจสอบรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
import pandas as pd df = pd.DataFrame({'Id':[1,2,3,4,5],'Mark':[80,90,70,85,90]}) print("DataFrame is:\n",df) print("Table wise function:") def avg(a,b): return (a+b/2) print(df.pipe(avg,10))
ผลลัพธ์
DataFrame is: Id Mark 0 1 80 1 2 90 2 3 70 3 4 85 4 5 90 Table wise function: Id Mark 0 6.0 85.0 1 7.0 95.0 2 8.0 75.0 3 9.0 90.0 4 10.0 95.0