Sunday, February 24, 2013

NumPy Array ตอนที่ 4 การเปลี่ยนขนาดของ Array

การเปลี่ยนขนาดของ Array
  • ทำให้เหลือ 1 มิติ
สามารถใช้ฟังก์ชัน ravel() เช่น

>>> a = np.array([[1,2],[3,4]])
>>> a
array([[1, 2],
       [3, 4]])

>>> b = a.ravel()
>>> b
array([1, 2, 3, 4])
  • เปลี่ยนเป็น 2 มิติ ขนาดใดๆ
ใช้คำสั่ง array.shape(row,column) เช่น
>>> b.shape = (2,2)
>>> b
array([[1, 2],
       [3, 4]])
หมายเหตุ ถ้าอยากละมิติใดๆไว้ให้ถูกคำนวณเอง ให้ใส่ค่า -1 เช่น
b.shape = (2,-1)
หรือ ใช้คำสั่ง reshape(row,column) เช่น
c = b.reshape(2,2)
หรือ ใช้คำสั่ง resize(row,column) แต่จะเป็นการเปลี่ยน array นั้นแทน เช่น
b.resize(2,2)

ถ้าต้องการเข้าถึงแต่ละสมาชิกของ array ขนาดใดๆ ในลักษณะของ 1 มิติ สามารถใช้คุณสมบัติ array.flat ได้ เช่น
>>> b
array([[1, 2],
       [3, 4]])
>>> for i in b.flat:
...     print i
...     
1
2
3
4

No comments:

Post a Comment