df.tail(n) ผมใช้สำหรับดึงแถวท้ายสุด n แถวของ DataFrame ออกมาดูเร็วๆ ครับ เหมือนตอนเปิด Excel แล้วกด Ctrl+End เพื่อเลื่อนไปดูข้อมูลแถวล่างสุดของตาราง — มันคือคู่หูของ head ที่ดูแถวบนสุดนั่นเอง
df.tail(n)
df.tail(n)
DataFrame
คืนเป็น DataFrame ก้อนใหม่ที่มีเฉพาะ n แถวสุดท้ายครับ คอลัมน์ครบเหมือนเดิมทุกอัน เอาไป chain ต่อ เช่น .mean() หรือ .sum() ได้เลย
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| n | int | Optional | 5 | จำนวนแถวท้ายสุดที่อยากให้แสดง ถ้าไม่ใส่จะเป็น 5 แถว ใส่เลขลบได้ด้วย เช่น -2 หมายถึงข้าม 2 แถวแรกแล้วเอาที่เหลือทั้งหมด |
df.tail()df.tail()
month sales
2 Mar 90
3 Apr 140
4 May 160
5 Jun 130
6 Jul 175
df.tail(3)df.tail(3)
name score
3 Dan 91
4 Eve 64
5 Fay 80
df.tail(-1)df.tail(-1)
id value
1 2 A
2 3 B
3 4 C
4 5 D
ต่างกันแค่หัวกับหางครับ 😄 head(n) ให้แถวบนสุด n แถว ส่วน tail(n) ให้แถวล่างสุด n แถว ผมมักใช้คู่กันเสมอ — head เช็กว่าข้อมูลเริ่มถูกไหม, tail เช็กว่าข้อมูลจบถูกไหม เห็นทั้งหัวทั้งหางก็พอจับทิศทางข้อมูลได้แล้ว
ไม่ error ครับ สบายใจได้ ถ้าตารางมี 4 แถวแล้วผมสั่ง df.tail(100) มันก็แค่คืนทั้ง 4 แถวกลับมาให้ ไม่พังไม่เตือนอะไร เหมือน Excel ที่ต่อให้เรากด scroll เลยตารางไป มันก็ไม่มีอะไรเสียหาย
เวลาผมเปิดข้อมูลที่ AI เขียนโค้ดมาให้ แล้วเจอบรรทัด df.tail() ไม่ต้องตกใจครับ มันแค่ขอดูแถวท้ายๆ ของตารางเท่านั้นเอง
ลองนึกภาพ Excel ที่มีข้อมูลเป็นหมื่นแถว เราคงไม่ scroll ลงไปดูทีละแถว ใช่ไหมครับ ส่วนใหญ่เราจะกด Ctrl+End กระโดดไปดูแถวล่างสุดเลยว่าข้อมูลจบตรงไหน มีแถวว่างหลุดมาท้ายตารางหรือเปล่า — df.tail(n) ก็ทำหน้าที่แบบเดียวกันเป๊ะ คือดึงแถว n แถวสุดท้ายมาแสดง (ถ้าไม่ใส่ n มันจะให้ 5 แถวสุดท้ายเป็นค่า default)
ที่เจ๋งคือ tail มันเป็นคู่หูกับ head ครับ — head ดูหัวตาราง, tail ดูท้ายตาราง พอใช้สองตัวนี้คู่กันปุ๊บ เราจะเห็นทั้งจุดเริ่มและจุดจบของข้อมูลในพริบตา เหมาะมากตอนเช็กว่าข้อมูลโหลดมาครบไหม เรียงลำดับถูกไหม หรือมีขยะติดมาท้ายไฟล์หรือเปล่า
ส่วนตัวผมใช้ tail บ่อยมากตอนทำงานกับข้อมูล time series ครับ เพราะข้อมูลล่าสุด (วันนี้ เดือนนี้) มักจะอยู่ท้ายตาราง df.tail() เลยเป็นวิธีเช็กข้อมูลอัปเดตล่าสุดที่เร็วที่สุด 😎