---
title: pandas describe — สรุปสถิติเชิงพรรณนาของ DataFrame
url: https://www.thepexcel.com/functions/python/aggregation/pandas-describe/
type: function-explainer
program: Python
syntax: df.describe()
date: 2026-05-31
scores:
  popularity: 5
  difficulty: 3
  usefulness: 5
---

# pandas describe — สรุปสถิติเชิงพรรณนาของ DataFrame

> df.describe() ใน pandas ผมใช้สำหรับดูสถิติพื้นฐานของข้อมูลในทุกคอลัมน์พร้อมกันในคำสั่งเดียว ทั้ง cou

## คำอธิบาย

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

## Syntax

```excel
df.describe()
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| percentiles | No | list \| None | [.25, .5, .75] | ระบุ percentile ที่ต้องการในผลลัพธ์ เช่น [0.1, 0.5, 0.9] ได้ 10th, 50th, 90th percentile แทน default |
| include | No | str \| list \| None | None | ระบุชนิดคอลัมน์ที่รวม None=เฉพาะตัวเลข, 'all'=ทุกคอลัมน์รวมข้อความ, [np.number]=เฉพาะตัวเลข |
| exclude | No | str \| list \| None | None | ระบุชนิดคอลัมน์ที่ต้องการข้ามไป เช่น exclude=['object'] เพื่อข้ามคอลัมน์ข้อความ |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: describe DataFrame ทั่วไป

```excel
df.describe()
```

**ผลลัพธ์:** `           score        age
count   5.000000   5.000000
mean   72.000000  24.400000
std    15.247951   2.302173
min    55.000000  22.000000
25%    60.000000  23.000000
50%    70.000000  24.000000
75%    85.000000  25.000000
max    90.000000  28.000000`

ผมรัน describe() บน DataFrame 2 คอลัมน์ครับ ได้สถิติทั้ง count, mean, std, min, 25%, 50%, 75%, max ของทั้ง score และ age ในตารางเดียว มองเห็นภาพรวมได้เร็วมาก

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

```excel
df.describe(percentiles=[0.1, 0.5, 0.9])
```

**ผลลัพธ์:** `           score        age
count   5.000000   5.000000
mean   72.000000  24.400000
std    15.247951   2.302173
min    55.000000  22.000000
10%    57.000000  22.400000
50%    70.000000  24.000000
90%    88.000000  26.800000
max    90.000000  28.000000`

คราวนี้ผมเปลี่ยน percentile เป็น 10th, 50th, 90th แทน default ครับ ใช้ดู extreme values ได้ดีกว่าในงานบางประเภท เช่น ดู top 10% กับ bottom 10%

### 3. ตัวอย่างที่ 3: describe คอลัมน์เดียวเพื่อดูสถิติเจาะจง

```excel
df['score'].describe()
```

**ผลลัพธ์:** `count     5.000000
mean     72.000000
std      15.247951
min      55.000000
25%      60.000000
50%      70.000000
75%      85.000000
max      90.000000
Name: score, dtype: float64`

ผมเลือก describe แค่คอลัมน์ score คอลัมน์เดียวครับ ได้ Series ของสถิติ 8 ค่า ใช้ตอนต้องการโฟกัสที่คอลัมน์เดียวโดยเฉพาะ เช่น ดูว่าคะแนนกระจายตัวแค่ไหน std ประมาณ 15.25 บอกว่ากระจายพอควร

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

- ผมแนะนำให้รัน df.describe() เป็นคำสั่งแรกเสมอเมื่อได้ข้อมูลใหม่มาครับ ดู std ที่สูงผิดปกติหรือ min/max ที่ดูแปลกๆ ช่วยจับ outlier ได้เร็วมากก่อนที่มันจะทำให้การวิเคราะห์ผิดพลาด

- ส่วนตัวผมชอบต่อด้วย .T (transpose) เพื่อหมุนตาราง ถ้ามีหลายคอลัมน์จะอ่านง่ายกว่า เช่น df.describe().T ให้แต่ละคอลัมน์อยู่เป็นแถวแทนครับ

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

**Q: ทำไม describe ถึงไม่แสดงคอลัมน์ข้อความ?**

ค่า default ของ describe จะดูเฉพาะคอลัมน์ตัวเลขครับ เพราะสถิติพวก mean, std ไม่มีความหมายกับข้อความ ถ้าอยากเห็นคอลัมน์ข้อความด้วยให้ใส่ include='all' หรือ include=['object'] เพิ่มเข้าไปได้เลย

**Q: จะดูสถิติแค่คอลัมน์เดียวได้ไหม?**

ได้เลยครับ แค่เลือกคอลัมน์ก่อนแล้วค่อย describe เช่น df['score'].describe() จะได้สถิติของ score อย่างเดียว ผมใช้แบบนี้ตอนต้องการโฟกัสที่คอลัมน์เดียวโดยเฉพาะ

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

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

---

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