Trong bài này , ta sẽ cùng bàn luận về các thuộc tính mảng khác nhau của Numpy
1. ndarray.shape
Thuộc tính này trả về một bộ giá trị bao gồm các kích thước mảng. Nó cũng có thể được sử dụng để thay đổi kích thước mảng.
Ví dụ 1 :
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print a.shape
Kết quả :
(2, 3)
Ví dụ 2 :
# this resizes the ndarray
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a
Kết quả :
[[1, 2]
[3, 4]
[5, 6]]
Ví dụ 3 :
NumPy cung cấp chức năng định hình lại để thay đổi kích thước một mảng.
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b
kết quả :
[[1, 2]
[3, 4]
[5, 6]]
2. ndarray.ndim
Thuộc tính này trả về số thứ nguyên của mảng.
Ví dụ 1:
# an array of evenly spaced numbers
import numpy as np
a = np.arange(24)
print a
Kết quả :
[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
Ví dụ 2:
# this is one dimensional array
import numpy as np
a = np.arange(24)
a.ndim
# now reshape it
b = a.reshape(2,4,3)
print b
# b is having three dimensions
Kết quả :
[[[ 0, 1, 2]
[ 3, 4, 5]
[ 6, 7, 8]
[ 9, 10, 11]]
[[12, 13, 14]
[15, 16, 17]
[18, 19, 20]
[21, 22, 23]]]
3. numpy.itemsize
Thuộc tính này trả về độ dài của mỗi phần tử của mảng tính bằng byte.
Ví dụ 1:
# dtype of array is int8 (1 byte)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize
kết quả :
1
Ví dụ 2 :
# dtype of array is now float32 (4 bytes)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize
kết quả :
4
4. numpy.flags
Đối tượng ndarray có các thuộc tính sau. Các giá trị hiện tại của nó được trả về bởi hàm này.
- C_CONTIGUOUS (C) : Dữ liệu nằm trong một phân đoạn liền kề kiểu C duy nhất
- F_CONTIGUOUS (F) : Dữ liệu nằm trong một phân đoạn liền kề theo kiểu Fortran
- OWNDATA (O) : Mảng sở hữu bộ nhớ mà nó sử dụng hoặc mượn từ một đối tượng khác
- WRITEABLE (W) : Vùng dữ liệu có thể được ghi vào. Đặt thành False sẽ khóa dữ liệu, khiến dữ liệu ở chế độ chỉ đọc
- ALIGNED (A) : Dữ liệu và tất cả các yếu tố được căn chỉnh phù hợp với phần cứng
- UPDATEIFCOPY (U) : Mảng này là bản sao của một số mảng khác. Khi mảng này được tạo ra, mảng cơ sở sẽ được cập nhật với nội dung của mảng này
Ví dụ :
import numpy as np
x = np.array([1,2,3,4,5])
print x.flags
Kết quả :
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False