Thep Excel

pandas headดูข้อมูลแถวแรกของ DataFrame

head ใน pandas ผมใช้สำหรับดูข้อมูลแถวแรกๆ ของ DataFrame เพื่อเช็กว่าโหลดข้อมูลมาถูกต้องหรือเปล่า คล้ายกับการ scroll ไปดูบนสุดของตาราง Excel เลยครับ

>_
df.head(n)

ความนิยม5/10
ความยาก3/10
ประโยชน์5/10

อัปเดต 31 May 2026

Syntax & Arguments

คืนค่าDataFrame

คืน DataFrame ใหม่ที่มีแค่ n แถวแรกครับ ไม่ใช่ view ของต้นฉบับ — แก้ไขผลลัพธ์ไม่กระทบ df เดิม ใช้ chain ต่อได้เลย เช่น .head(10).reset_index()

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
[n]ไม่บังคับ int 5 จำนวนแถวที่อยากดู ถ้าไม่ใส่จะได้ 5 แถวแรกโดยอัตโนมัติ ใส่ค่าลบได้ด้วย เช่น -2 หมายถึงแสดงทุกแถวยกเว้น 2 แถวสุดท้าย

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

ทุกครั้งที่โหลดไฟล์ CSV หรือดึงข้อมูลจากฐานข้อมูลมา สิ่งแรกที่ผมทำเสมอคือเรียก .head() เพื่อดูว่าข้อมูลหน้าตาเป็นยังไง คอลัมน์ถูกต้องไหม ค่าสมเหตุสมผลไหม ก่อนที่จะเริ่มวิเคราะห์จริงจังครับ

โดยค่าเริ่มต้น .head() จะแสดง 5 แถวแรก แต่ถ้าอยากเห็นมากหรือน้อยกว่านั้นก็แค่ใส่ตัวเลขลงไป เช่น .head(10) หรือ .head(3) ก็ได้ครับ นอกจาก DataFrame แล้วยังใช้กับ Series ได้เช่นกัน

ที่เจ๋งคือ .head() มักใช้คู่กับ .sort_values() เพื่อดู Top-N ได้เลย เช่น เรียงจากมากไปน้อยแล้วเอาแค่ 5 อันดับแรก — pattern นี้ผมใช้บ่อยมากตอนทำรายงานครับ ✨

ส่วนตัวผมชอบ .head() มากกว่าการ print df ทั้งตาราง เพราะมันเร็วและไม่ทำให้หน้าจอล้น โดยเฉพาะตอนที่ข้อมูลมีเป็นล้านแถว 😎

Examples

ตัวอย่างที่ 1: ดู 5 แถวแรกแบบ defaultdf.head()

ผมเรียก .head() โดยไม่ใส่ตัวเลข มันจะแสดง 5 แถวแรกให้อัตโนมัติครับ เหมือนการ scroll ขึ้นไปดูบนสุดของตาราง Excel แค่ต้องการเช็กภาพรวมว่าข้อมูลโหลดมาถูกไหม

>_
df.head()

ผลลัพธ์ name score
0 Alice 85
1 Bob 92
2 Charlie 78
3 David 95
4 Eve 88
ตัวอย่างที่ 2: กำหนดจำนวนแถวเองdf.head(3)

ผมใส่ n=3 เพื่อดูแค่ 3 แถวแรก มีประโยชน์ตอนที่อยากเห็นตัวอย่างข้อมูลแค่นิดหน่อย หรือตอน screen มีพื้นที่จำกัดครับ

>_
df.head(3)

ผลลัพธ์ product price
0 A 100
1 B 200
2 C 150
ตัวอย่างที่ 3: ใช้กับ Seriess.head(4)

head ใช้ได้กับ Series ด้วยนะครับ ไม่ใช่แค่ DataFrame ผมมักใช้แบบนี้ตอนดูผลหลังจาก groupby หรือหลังดึงคอลัมน์เดียวออกมาครับ

>_
s.head(4)

ผลลัพธ์0 10
1 20
2 30
3 40
Name: revenue, dtype: int64
ตัวอย่างที่ 4: head หลัง sort_values — ดู Top-5 ราคาสูงสุดdf.sort_values('price', ascending=False).head(5)

pattern นี้ผมใช้บ่อยมากครับ เรียงจากมากไปน้อยด้วย sort_values แล้วต่อด้วย head(5) เพื่อเอาแค่ Top-5 เหมือน LARGE + INDEX/MATCH ใน Excel เลย แต่เขียนง่ายกว่าเยอะ

>_
df.sort_values('price', ascending=False).head(5)

ผลลัพธ์ product price
1 B 450
6 G 390
3 D 300
4 E 250
5 F 180

FAQs

ต่างจาก tail() ยังไง?+

head() ดูแถวจาก ด้านบน (แรก) ส่วน tail() ดูจาก ด้านล่าง (ท้าย) ครับ เช่น df.tail(5) จะได้ 5 แถวสุดท้าย ผมมักใช้ tail() ตอนอยากเช็กว่าข้อมูลใหม่ที่เพิ่งต่อท้ายเข้าไปถูกต้องไหม หรือดูว่าข้อมูลเรียงตามเวลาแล้วแถวล่าสุดคืออะไรครับ

ใส่ n เป็นค่าลบได้ไหม?+

ได้ครับ! df.head(-2) หมายถึงแสดงทุกแถว ยกเว้น 2 แถวสุดท้าย เช่น DataFrame มี 10 แถว head(-2) จะได้ 8 แถวแรก ผมไม่ค่อยได้ใช้ pattern นี้บ่อยนักครับ แต่รู้ไว้ก็ดี

head() เปลี่ยนข้อมูลใน DataFrame ต้นฉบับไหม?+

ไม่ครับ head() เป็น method ที่ read-only คืนค่า DataFrame ใหม่ที่มีแค่แถวที่เลือก ไม่กระทบข้อมูลต้นฉบับเลย เหมือนการ filter ดูแบบ temporary ครับ

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ pandas head จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้pandas headInspection
Selection (4)
pandas iloc

iloc ใน pandas ผมใช้สำหรับเลือกแถวและคอลัมน์ด้วยตำแหน่งตัวเลข (0-based index) เหมือนการอ้างอิงเซลล์ใน Excel ด้วยเลขแถว-คอลัมน์ครับ ต่างจาก loc ตรงที่ iloc ไม่สนใจชื่อ index — ดูแค่ว่าอยู่ตำแหน่งที่เท่าไหร่เท่านั้น

pandas nlargest

nlargest ใน pandas ผมใช้ดึง N แถวที่ค่าในคอลัมน์ที่ระบุสูงที่สุดออกมาเลย เช่น Top 3 ลูกค้ายอดซื้อเยอะสุด ถ้าใครเคยทำ Sort มาก→น้อย ใน Excel แล้วเอา N แถวบนสุด ตัวนี้คือคำสั่งเดียวที่ทำงานนั้นให้จบครับ

pandas nsmallest

nsmallest ใน pandas ผมใช้ดึง n แถวที่ค่าในคอลัมน์ที่ระบุต่ำสุดออกมา เหมือนใน Excel ที่เรา Sort จากน้อยไปมากแล้วหยิบแถวบนสุดมา n แถว (Bottom N) แต่ตัวนี้สั่งบรรทัดเดียวจบเลยครับ

pandas query

query ใน pandas ผมใช้กรองแถวใน DataFrame ด้วยข้อความเงื่อนไขที่อ่านง่ายเหมือนพูดภาษาคน แทนที่จะเขียน boolean mask ยาวๆ ให้ตาลาย เหมาะมากกับเงื่อนไขซับซ้อนหลายข้อที่อยากให้โค้ดสั้นและอ่านรู้เรื่องครับ

IO (2)
pandas read_csv

read_csv ใน pandas ผมใช้สำหรับโหลดข้อมูลจากไฟล์ CSV หรือ text ที่มีตัวคั่นเข้ามาเป็น DataFrame พร้อมใช้งาน ถ้าใครเคยเปิดไฟล์ CSV ใน Excel แล้วได้ตารางให้แก้งานต่อ read_csv ก็คือสิ่งเดียวกันเลยครับแต่สำหรับ Python

pandas read_excel

read_excel ใน pandas ผมใช้สำหรับโหลดข้อมูลจากไฟล์ .xlsx หรือ .xls เข้ามาเป็น DataFrame เพื่อวิเคราะห์ต่อใน Python ถ้าเคยเปิดไฟล์ Excel แล้วก็อปข้อมูลไปทำงานต่อ ตัวนี้ทำแบบเดียวกันแต่อัตโนมัติเลยครับ

Creation (1)
pd.DataFrame

pd.DataFrame คือคำสั่งสร้างตาราง 2 มิติ (แถว × คอลัมน์) ใน pandas ซึ่งผมเทียบได้กับ sheet หรือ range ใน Excel เลยครับ โค้ด Python ที่วิเคราะห์ข้อมูลแทบทุกตัวเริ่มต้นด้วยการสร้าง DataFrame นี่แหละ

Aggregation (1)
pandas describe

df.describe() ใน pandas ผมใช้สำหรับดูสถิติพื้นฐานของข้อมูลในทุกคอลัมน์พร้อมกันในคำสั่งเดียว ทั้ง count, mean, std, min, max และ percentile ช่วยให้เข้าใจภาพรวมของชุดข้อมูลได้เร็วมากก่อนเริ่มวิเคราะห์จริงครับ

Transform (1)
pandas sort_values

df.sort_values() ใน pandas ผมใช้สำหรับเรียงลำดับแถวใน DataFrame ตามค่าของคอลัมน์ที่กำหนด เรียงจากน้อยไปมากหรือมากไปน้อยก็ได้ และยังเรียงตามหลายคอลัมน์พร้อมกันได้ด้วยครับ

Inspection (1)
pandas tail

df.tail(n) ผมใช้สำหรับดึงแถวท้ายสุด n แถวของ DataFrame ออกมาดูเร็วๆ ครับ เหมือนตอนเปิด Excel แล้วกด Ctrl+End เพื่อเลื่อนไปดูข้อมูลแถวล่างสุดของตาราง — มันคือคู่หูของ head ที่ดูแถวบนสุดนั่นเอง

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่