Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - หาสรุปสถิติ (Summary Statistics) ของ Pandas DataFrame ด้วย describe()

เมธอด describe() ให้สรุปสถิติพื้นฐาน (Descriptive Statistics) ของคอลัมน์ตัวเลขใน DataFrame ทั้งหมดพร้อมกัน รวมถึง count, mean, std, min, quartiles (25%, 50%, 75%), max

ขั้นตอนการทำงาน

1. โหลดข้อมูล

import pandas as pd

dataFrame = pd.read_csv(r"C:\Users\amit_\Desktop\CarRecords.csv")

2. ใช้ describe()

summary = dataFrame.describe()
print(summary)

โค้ดตัวอย่างสมบูรณ์

import pandas as pd

dataFrame = pd.read_csv(r"C:\Users\amit_\Desktop\CarRecords.csv")
print("DataFrame:\n", dataFrame)
print("\nRows, Cols:", dataFrame.shape)

# สรุปสถิติ
print("\nSummary Statistics:\n", dataFrame.describe())

# แสดง 7 แถวแรก
print("\nFirst 7 rows:\n", dataFrame.head(7))

ผลลัพธ์

DataFrame:
        Car      Place  UnitsSold
0      Audi  Bangalore         80
1   Porsche     Mumbai        110
2  RollsRoyce      Pune        100
3      BMW     Delhi          95
4  Mercedes  Hyderabad         80
5  Lamborghini Chandigarh         80
6      Audi     Mumbai        100
7  Mercedes      Pune        120
8  Lamborghini   Delhi        100

Rows, Cols: (9, 3)

Summary Statistics:
           UnitsSold
count     9.000000
mean     96.111111
std      14.092945
min      80.000000
25%      80.000000
50%     100.000000
75%     100.000000
max     120.000000

คำอธิบายสถิติแต่ละตัว

สถิติความหมาย
countจำนวนค่าที่ไม่ใช่ NaN
meanค่าเฉลี่ยเลขคณิต
stdส่วนเบี่ยงเบนมาตรฐาน (Standard Deviation)
minค่าต่ำสุด
25%ควอไทล์ที่ 1 (Q1) - 25% ของข้อมูลน้อยกว่าค่านี้
50%ค่ามัธยฐาน (Median/Q2) - 50% ของข้อมูลน้อยกว่าค่านี้
75%ควอไทล์ที่ 3 (Q3) - 75% ของข้อมูลน้อยกว่าค่านี้
maxค่าสูงสุด

พารามิเตอร์เพิ่มเติม

# รวมคอลัมน์ object/category ด้วย
df.describe(include='all')

# เฉพาะคอลัมน์ object
df.describe(include=['object'])

# เฉพาะคอลัมน์ numeric
df.describe(include=['number'])

# ปรับ percentile ที่ต้องการ
df.describe(percentiles=[0.1, 0.5, 0.9])

# Transpose เพื่ออ่านง่าย
df.describe().T

ผลลัพธ์ include='all'

           Car      Place  UnitsSold
count        9          9        9.0
unique       6          6        NaN
top       Audi  Bangalore        NaN
freq         2          2        NaN
mean       NaN        NaN       96.1
std        NaN        NaN       14.1
min        NaN        NaN       80.0
25%        NaN        NaN       80.0
50%        NaN        NaN      100.0
75%        NaN        NaN      100.0
max        NaN        NaN      120.0

สถิติเพิ่มเติมที่น่าสนใจ

# Skewness (ความเอียง)
df.skew()

# Kurtosis (ความโค้ง)
df.kurtosis()

# Correlation matrix
df.corr()

# Covariance matrix
df.cov()