คำว่า shape ใน NumPy หมายถึงการให้ข้อมูลว่า array นั้นมีสมาชิกกี่ตัว กี่แถว กี่คอลัมน์ กี่ตาราง
เราสามารถหา shape ของ array ได้โดยใช้ attribute ต่อไปนี้
ndarray.shape
ผลลัพธ์ที่ได้เมื่อใช้ attribute นี้คือ ข้อมูลตัวเลขในรูปของ tuple (เซ็ตของข้อมูลที่มีเครื่องหมายวงเล็บคลุม)
Shape ของ 0-D
shape ของ 0-D จะเป็น tuple ว่างๆ เพราะมันมีแค่ค่าเดียว ไม่ใช่เซ็ตของข้อมูล
ตัวอย่างเช่น
x = np.array(1)
print(x.shape)
print(x)
output:
()
1
x มี 0 มิติ เมื่อแสดงค่า shape ก็จะได้เป็น tuple ว่าง () แบบนี้ เพราะมันไม่ใช่ array ไม่ได้มีสมาชิกอะไร ค่าของมันคือ 1 เห็นได้ว่าเมื่อใส่คำสั่ง print(x) ให้แสดงค่า x มันไม่ได้แสดงในรูปของ array (ข้อมูลที่คลุมด้วย []) แต่จะแสดงเป็นค่าเดี่ยวๆ
Shape ของ 1-D
shape ของ numpy array 1 มิติ จะแสดงจำนวนของสมาชิกทั้งหมดใน array
ตัวอย่างเช่น
y = np.array([1,2,3])
print(y.shape)
print(y)
output:
(3,)
[1 2 3]
y มี 1 มิติ เมื่อใช้ attribute นี้เราจะได้ข้อมูลว่า array นี้มีสมาชิกกี่ตัวเท่านั้น ซึ่งในตัวอย่างมีสมาชิก 3 ตัว เมื่อใช้คำสั่ง print(y) จะพบว่าข้อมูลดังกล่างคือ numpy array [1 2 3]
Shape ของ 2-D
shape ของ numpy array 2 มิติ จะแสดงจำนวนแถวและจำนวนคอลัมน์ของ array
ตัวอย่างเช่น
z = np.array([[1,2,3],[4,5,6]])
print(z.shape)
print(z)
output:
(2,3)
[[123]
[456]]
z มี 2 มิติ เมื่อใช้ attribute ndarray.shape จะได้ tuple (2,3) คือมี 2 แถว แต่ละแถวมีสมาชิก 3 ตัว หรือมี 3 คอลัมน์นั่นเอง
Shape ของ 3-D
shape ของ numpy array ที่มี 3 มิติ จะบอกได้ว่า array นี้มีกี่ตาราง แต่ละตารางมีกี่แถว และแต่ละแถวมีกี่คอลัมน์
ตัวอย่างเช่น
a = np.array([[[1,2,3],[4,5,6]],
[[1,2,3],[4,5,6]]])
print(a.shape)
print(a)
output:
(2, 2, 3)
[[[1 2 3]
[4 5 6]]
[[1 2 3]
[4 5 6]]]
a เป็น numpy array 3 มิติ มี 2 ตาราง แต่ละตารางมี 2 แถว แต่ละแถวมี 3 คอลัมน์