transform สำหรับคุณลักษณะแยกตามกลุ่ม
นำสถิติของกลุ่มกลับมาให้ตรงกับแถว
transform สำหรับคุณลักษณะแยกตามกลุ่ม เป็นบทเรียน Data Science Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Data Science Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน
agg ย่อข้อมูล ส่วน transform รักษาขนาดไว้
ขณะที่ agg คืนค่าหนึ่งแถวต่อกลุ่ม transform จะคืนค่าหนึ่งค่าต่อแถวต้นฉบับทุกแถว โดยมีความยาวเท่ากับข้อมูลนำเข้า
เหตุใดเรื่องนี้จึงสำคัญ
เนื่องจาก transform รักษารูปร่างเดิมไว้ คุณจึงนำผลลัพธ์กลับไปใส่ใน DataFrame เป็นคอลัมน์ใหม่ได้โดยตรง
df["city_avg"] = df.groupby("city")["sales"].transform("mean")กระจายสถิติของกลุ่ม
แต่ละแถวจะได้รับค่าสถิติของกลุ่มของตนเอง ดังนั้นทุกแถวของปารีสจะได้รับค่าเฉลี่ยของปารีสโดยจัดแนวให้ตรงกันอย่างเรียบร้อย
สร้างคุณลักษณะที่สัมพันธ์กับกลุ่ม
ลบค่าเฉลี่ยของกลุ่มออกเพื่อดูว่าแต่ละแถวแตกต่างจากค่าเฉลี่ยของกลุ่มมากเพียงใด ซึ่งเป็นคุณลักษณะที่มีประโยชน์สำหรับโมเดล
df["diff"] = df["sales"] - df.groupby("city")["sales"].transform("mean")ทำให้เป็นมาตรฐานภายในกลุ่ม
หารด้วยผลรวมของกลุ่มเพื่อเปลี่ยนจำนวนดิบให้เป็นสัดส่วนภายในกลุ่มที่เปรียบเทียบกันระหว่างกลุ่มได้อย่างเป็นธรรม
df["share"] = df["sales"] / df.groupby("city")["sales"].transform("sum")เติมค่าที่หายไปด้วยค่าเฉลี่ยของกลุ่ม
เทคนิคเติมค่าที่หายไปอย่างเป็นระเบียบ: แทนที่ช่องว่างด้วยค่าเฉลี่ยของกลุ่มในแต่ละแถว แทนที่จะใช้ตัวเลขเดียวจากข้อมูลทั้งหมด 🧩
df["sales"] = df.groupby("city")["sales"].transform(lambda s: s.fillna(s.mean()))ใช้สตริงหรือฟังก์ชัน
เช่นเดียวกับ agg, transform รับชื่อฟังก์ชัน เช่น "mean" หรือฟังก์ชันที่คุณสร้างเองซึ่งคืนผลลัพธ์ที่มีรูปร่างสอดคล้องกัน
g.transform("sum")รักษาดัชนีของแถวไว้
ผลลัพธ์จะรักษาดัชนีเดิมไว้ นี่จึงเป็นเหตุผลว่าทำไมเมื่อนำกลับไปกำหนดเป็นคอลัมน์แล้วจึงจัดแนวได้พอดี
จัดอันดับภายในแต่ละกลุ่ม
ใช้ transform ร่วมกับ rank เพื่อให้คะแนนแต่ละแถวเทียบกับกลุ่มของตน เหมาะสำหรับตรรกะการเลือกอันดับสูงสุด N รายการต่อกลุ่ม
df["rk"] = df.groupby("city")["sales"].rank(ascending=False)transform กับ apply
เลือกใช้ transform เมื่อผลลัพธ์ต้องมีความยาวเท่ากับข้อมูลนำเข้า และเลือกใช้ apply เมื่อจำเป็นต้องมีความยืดหยุ่นอย่างเต็มที่
ข้อผิดพลาดที่พบบ่อย
ฟังก์ชันของคุณต้องคืนผลลัพธ์ที่มีความยาวเท่ากันกับกลุ่ม มิฉะนั้น transform จะรายงานข้อผิดพลาดแทนการเดาให้เอง
ตรวจสอบความเข้าใจอย่างรวดเร็ว
อะไรทำให้ transform แตกต่างจาก agg
สรุป: คุณลักษณะที่ใส่กลับได้พอดี
ตอนนี้คุณสามารถคำนวณคุณลักษณะแยกตามกลุ่มที่รักษารูปร่างเดิมไว้ เหมาะสำหรับการทำให้เป็นมาตรฐาน การเติมค่าที่หายไป และการจัดอันดับ 🚀
คำถามที่พบบ่อย
บทเรียน “transform สำหรับคุณลักษณะแยกตามกลุ่ม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “transform สำหรับคุณลักษณะแยกตามกลุ่ม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Data Science Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “transform สำหรับคุณลักษณะแยกตามกลุ่ม”
นำสถิติของกลุ่มกลับมาให้ตรงกับแถว คุณปฏิบัติ Data Science Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Data Science Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Data Science Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “transform สำหรับคุณลักษณะแยกตามกลุ่ม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Data Science Academy นี้ได้ไหม
ได้ บทเรียน Data Science Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- อธิบายแนวคิดแยก-ประมวลผล-รวม
- รวมข้อมูลหลายแบบด้วย agg
- จัดกลุ่มด้วยคีย์หลายตัว
- transform สำหรับคุณลักษณะแยกตามกลุ่ม