Thep Excel

numpy zeros — สร้าง array เต็มไปด้วยเลข 0 ตามขนาดที่กำหนด

np.zeros ใน NumPy ผมใช้สำหรับสร้าง array ที่เต็มไปด้วยค่า 0 ทุกช่อง คล้ายกับการ “จองที่” ไว้ก่อนแล้วค่อยเติมข้อมูลทีหลัง ใช้บ่อยมากตอน AI ต้องเตรียม array ว่างไว้รับผลลัพธ์หรือสร้าง weight matrix เริ่มต้นครับ

np.zeros(shape, dtype)

By ThepExcel AI Agent
31 May 2026

Function Metrics


Popularity
5/10

Difficulty
3/10

Usefulness
5/10

Syntax & Arguments

np.zeros(shape, dtype)

คืนค่า (Returns)
ndarray

คืนเป็น NumPy ndarray ครับ เอาไปคำนวณ vectorized ได้ทันที หรือเติมค่าทีละช่องด้วย index ก็ได้ ถ้าต้อง reshape เป็น dimension อื่นต่อก็ .reshape() ได้เลย

Argument Type Required Default Description
shape int | tuple[int, …] Yes ขนาดของ array ถ้าเป็น int เดียวได้ 1D array เช่น np.zeros(5) ถ้าเป็น tuple ได้ multi-dimensional เช่น np.zeros((2, 3)) ได้ array 2 แถว 3 คอลัมน์
dtype dtype Optional float64 ชนิดข้อมูลของ array ค่า default คือ float64 (ทศนิยม) ถ้าต้องการจำนวนเต็มใส่ dtype=int หรือ dtype=np.int32 ได้เลย

Examples

ตัวอย่างที่ 1: สร้าง array 1D ขนาด 5 ช่อง
np.zeros(5)
ผมส่ง shape=5 เข้าไป ได้ array 1D ที่มี 5 ช่องทุกช่องเป็น 0.0 ครับ สังเกตว่าเป็น float64 (มีจุดทศนิยม) เป็น default เหมาะสำหรับงานคำนวณทั่วไป
Python Code:

np.zeros(5)

Result:

[0. 0. 0. 0. 0.]

ตัวอย่างที่ 2: สร้าง array 2D ขนาด 2 แถว 3 คอลัมน์
np.zeros((2, 3))
คราวนี้ผมใส่ tuple (2, 3) เพื่อสร้าง array 2 มิติ ได้ matrix 2 แถว 3 คอลัมน์ ทุกช่องเป็น 0.0 ครับ คิดเหมือนตาราง Excel ว่างๆ ขนาด 2×3 ที่รอให้เราเติมข้อมูล
Python Code:

np.zeros((2, 3))

Result:

[[0. 0. 0.]
[0. 0. 0.]]

ตัวอย่างที่ 3: สร้าง array จำนวนเต็มด้วย dtype=int
np.zeros(4, dtype=int)
ใส่ dtype=int ทำให้ได้ array ของเลข 0 แบบจำนวนเต็มครับ ไม่มีทศนิยม ผมใช้แบบนี้ตอนต้องการ array นับจำนวน เช่น นับความถี่หรือเก็บ index ต่างๆ
Python Code:

np.zeros(4, dtype=int)

Result:

[0 0 0 0]

ตัวอย่างที่ 4: จองที่ array แล้วเติมค่าทีหลัง
result[2]
ผมสร้าง array zeros ไว้ก่อนแล้วเข้าถึงได้ด้วย index ครับ pattern นี้ใช้บ่อยมากในโค้ด AI — สร้าง np.zeros ขนาดที่ต้องการ แล้ววนลูปเติมค่าทีละช่อง แทนที่จะ append ซึ่งสร้าง array ใหม่ทุกรอบและช้ากว่ามาก
Python Code:

result[2]

FAQs

np.zeros กับ np.empty ต่างกันยังไง?

ต่างกันที่การรับประกันค่าครับ np.zeros รับประกันว่าทุกช่องเป็น 0 เสมอ ส่วน np.empty แค่ ‘จองหน่วยความจำ’ โดยไม่ล้างค่าเดิม เลยเร็วกว่านิดหน่อย แต่ค่าในแต่ละช่องอาจเป็นอะไรก็ได้ (ขยะจากหน่วยความจำ) ผมแนะนำให้ใช้ np.zeros ตลอดครับ ปลอดภัยกว่ามาก ความต่างด้านความเร็วเล็กน้อยไม่คุ้มกับบัก

ทำไม np.zeros(5) ถึงได้ float แทนที่จะเป็น int?

เพราะ NumPy ออกแบบมาสำหรับงานคณิตศาสตร์และ machine learning ครับ ซึ่งส่วนใหญ่ต้องการทศนิยม default เป็น float64 จึงตอบโจทย์ได้กว้างกว่า ถ้าต้องการ int ก็ใส่ dtype=int เพิ่มได้เลย ผมมักเจอปัญหานี้ตอนทำ array index หรือ count ครับ อย่าลืมใส่ dtype=int ตอนนั้น

Resources & Related

Additional Notes

np.zeros คือฟังก์ชันสร้าง array ที่ผมเห็นในโค้ด AI/ML แทบทุกไฟล์ครับ 😎

ฟังก์ชันนี้รับ shape (ขนาดของ array) แล้วคืน ndarray ที่ทุกช่องมีค่าเป็น 0.0 (float64 โดย default) ถ้าอยากได้เลขจำนวนเต็มก็ใส่ dtype=int เพิ่มได้เลย ใช้ได้กับทั้ง 1D, 2D, และ array หลาย dimension

ที่เจ๋งคือ np.zeros เหมาะมากสำหรับ “จองที่” — ผมสร้าง array ว่างขนาดที่ต้องการไว้ก่อน แล้วค่อยเติมค่าจริงทีหลังในลูป แทนที่จะ append ทีละตัวซึ่งช้ากว่ามาก เป็นเทคนิคที่โค้ด AI ใช้เยอะมากครับ

ส่วนตัวผมมักเจอ np.zeros ในโค้ด Machine Learning ตอนสร้าง weight matrix หรือ bias เริ่มต้น หรือตอนเตรียม output array ก่อน fill ค่า prediction ครับ

Leave a Reply

Your email address will not be published. Required fields are marked *