---
title: pandas head — ดูข้อมูลแถวแรกของ DataFrame
url: https://www.thepexcel.com/functions/python/inspection/pandas-head/
type: function-explainer
program: Python
syntax: df.head(n)
date: 2026-05-31
scores:
  popularity: 5
  difficulty: 3
  usefulness: 5
---

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

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

## คำอธิบาย

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

## Syntax

```excel
df.head(n)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| n | No | int | 5 | จำนวนแถวที่อยากดู ถ้าไม่ใส่จะได้ 5 แถวแรกโดยอัตโนมัติ ใส่ค่าลบได้ด้วย เช่น -2 หมายถึงแสดงทุกแถวยกเว้น 2 แถวสุดท้าย |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ดู 5 แถวแรกแบบ default

```excel
df.head()
```

**ผลลัพธ์:** `      name  score
0    Alice     85
1      Bob     92
2  Charlie     78
3    David     95
4      Eve     88`

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

### 2. ตัวอย่างที่ 2: กำหนดจำนวนแถวเอง

```excel
df.head(3)
```

**ผลลัพธ์:** `  product  price
0       A    100
1       B    200
2       C    150`

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

### 3. ตัวอย่างที่ 3: ใช้กับ Series

```excel
s.head(4)
```

**ผลลัพธ์:** `0    10
1    20
2    30
3    40
Name: revenue, dtype: int64`

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

### 4. ตัวอย่างที่ 4: head หลัง sort_values — ดู Top-5 ราคาสูงสุด

```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`

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

## หมายเหตุเพิ่มเติม

- 💡 ผมมักเรียก df.head() เป็น step แรกเสมอหลังโหลดข้อมูล คู่กับ df.dtypes หรือ df.describe() เพื่อเช็ก shape ของข้อมูลก่อนวิเคราะห์จริงครับ

- pattern ที่ผมใช้บ่อยคือ sort_values().head(n) เพื่อดู Top-N ได้เลยโดยไม่ต้องสร้างตัวแปรกลาง เช่น df.sort_values('revenue', ascending=False).head(10) ดูได้ทันทีในบรรทัดเดียวครับ

## คำถามที่พบบ่อย

**Q: ต่างจาก tail() ยังไง?**

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

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

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

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

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

## แหล่งข้อมูลเพิ่มเติม

- [pandas DataFrame.head (official docs)](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.head.html) _(article)_

---

_Source: [https://www.thepexcel.com/functions/python/inspection/pandas-head/](https://www.thepexcel.com/functions/python/inspection/pandas-head/)_
