df.tail(n) ผมใช้สำหรับดึงแถวท้ายสุด n แถวของ DataFrame ออกมาดูเร็วๆ ครับ เหมือนตอนเปิด Excel แล้วกด Ctrl+End เพื่อเลื่อนไปดูข้อมูลแถวล่างสุดของตาราง — มันคือคู่หูของ head ที่ดูแถวบนสุดนั่นเอง
DataFrame
คืนเป็น DataFrame ก้อนใหม่ที่มีเฉพาะ n แถวสุดท้ายครับ คอลัมน์ครบเหมือนเดิมทุกอัน เอาไป chain ต่อ เช่น .mean() หรือ .sum() ได้เลย
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| [n]ไม่บังคับ | int | 5 | จำนวนแถวท้ายสุดที่อยากให้แสดง ถ้าไม่ใส่จะเป็น 5 แถว ใส่เลขลบได้ด้วย เช่น -2 หมายถึงข้าม 2 แถวแรกแล้วเอาที่เหลือทั้งหมด |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
เวลาผมเปิดข้อมูลที่ AI เขียนโค้ดมาให้ แล้วเจอบรรทัด df.tail() ไม่ต้องตกใจครับ มันแค่ขอดูแถวท้ายๆ ของตารางเท่านั้นเอง
ลองนึกภาพ Excel ที่มีข้อมูลเป็นหมื่นแถว เราคงไม่ scroll ลงไปดูทีละแถว ใช่ไหมครับ ส่วนใหญ่เราจะกด Ctrl+End กระโดดไปดูแถวล่างสุดเลยว่าข้อมูลจบตรงไหน มีแถวว่างหลุดมาท้ายตารางหรือเปล่า — df.tail(n) ก็ทำหน้าที่แบบเดียวกันเป๊ะ คือดึงแถว n แถวสุดท้ายมาแสดง (ถ้าไม่ใส่ n มันจะให้ 5 แถวสุดท้ายเป็นค่า default)
ที่เจ๋งคือ tail มันเป็นคู่หูกับ head ครับ — head ดูหัวตาราง, tail ดูท้ายตาราง พอใช้สองตัวนี้คู่กันปุ๊บ เราจะเห็นทั้งจุดเริ่มและจุดจบของข้อมูลในพริบตา เหมาะมากตอนเช็กว่าข้อมูลโหลดมาครบไหม เรียงลำดับถูกไหม หรือมีขยะติดมาท้ายไฟล์หรือเปล่า
ส่วนตัวผมใช้ tail บ่อยมากตอนทำงานกับข้อมูล time series ครับ เพราะข้อมูลล่าสุด (วันนี้ เดือนนี้) มักจะอยู่ท้ายตาราง df.tail() เลยเป็นวิธีเช็กข้อมูลอัปเดตล่าสุดที่เร็วที่สุด 😎
ผมเรียก df.tail() เฉยๆ ไม่ใส่เลขอะไรเลย pandas เลยให้ 5 แถวสุดท้ายมาเป็นค่า default ครับ สังเกตว่าตัวเลข index ทางซ้ายมันไม่ได้เริ่มจาก 0 แต่ต่อเนื่องจากตำแหน่งจริงในตาราง ทำให้เรารู้ว่านี่คือแถวท้ายๆ จริงๆ
คราวนี้ผมใส่เลข 3 เข้าไป เพื่อบอกว่าขอดูแค่ 3 แถวสุดท้ายพอ เหมาะตอนข้อมูลเยอะมากแล้วเราอยากเห็นแค่ปลายหางสั้นๆ ครับ เหมือนเปิด Excel แล้วเลือกดูแค่ 3 แถวล่างสุด
ลูกเล่นที่หลายคนไม่รู้ครับ — ถ้าใส่เลขลบ tail จะ "ข้าม" แถวแรกๆ ทิ้งแล้วเอาที่เหลือทั้งหมด df.tail(-1) คือข้ามแถวแรก 1 แถว (ในที่นี้คือบรรทัดขยะ header_junk) แล้วคืนที่เหลือมาให้ ผมใช้ตอนเจอข้อมูลที่มีบรรทัดหัวเกินติดมาแถวบนสุด
ต่างกันแค่หัวกับหางครับ 😄 head(n) ให้แถวบนสุด n แถว ส่วน tail(n) ให้แถวล่างสุด n แถว ผมมักใช้คู่กันเสมอ — head เช็กว่าข้อมูลเริ่มถูกไหม, tail เช็กว่าข้อมูลจบถูกไหม เห็นทั้งหัวทั้งหางก็พอจับทิศทางข้อมูลได้แล้ว
ไม่ error ครับ สบายใจได้ ถ้าตารางมี 4 แถวแล้วผมสั่ง df.tail(100) มันก็แค่คืนทั้ง 4 แถวกลับมาให้ ไม่พังไม่เตือนอะไร เหมือน Excel ที่ต่อให้เรากด scroll เลยตารางไป มันก็ไม่มีอะไรเสียหาย
ฟังก์ชันที่ผู้เขียนโยงไว้กับ pandas tail จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
head ใน pandas ผมใช้สำหรับดูข้อมูลแถวแรกๆ ของ DataFrame เพื่อเช็กว่าโหลดข้อมูลมาถูกต้องหรือเปล่า คล้ายกับการ scroll ไปดูบนสุดของตาราง Excel เลยครับ
iloc ใน pandas ผมใช้สำหรับเลือกแถวและคอลัมน์ด้วยตำแหน่งตัวเลข (0-based index) เหมือนการอ้างอิงเซลล์ใน Excel ด้วยเลขแถว-คอลัมน์ครับ ต่างจาก loc ตรงที่ iloc ไม่สนใจชื่อ index — ดูแค่ว่าอยู่ตำแหน่งที่เท่าไหร่เท่านั้น
df.sort_values() ใน pandas ผมใช้สำหรับเรียงลำดับแถวใน DataFrame ตามค่าของคอลัมน์ที่กำหนด เรียงจากน้อยไปมากหรือมากไปน้อยก็ได้ และยังเรียงตามหลายคอลัมน์พร้อมกันได้ด้วยครับ
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่