NumPy - Thuộc tính mảng

Trong chương này, chúng ta sẽ thảo luận về các thuộc tính mảng khác nhau của NumPy.

ndarray.shape

Thuộc tính mảng 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ả như sau:

(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ả như sau:

[[1, 2] 
 [3, 4] 
 [5, 6]]

Ví dụ 3

NumPy cũng cung cấp một 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ả như sau:

[[1, 2] 
 [3, 4] 
 [5, 6]]

ndarray.ndim

Thuộc tính mảng 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ả như sau:

[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ả như sau:

[[[ 0,  1,  2] 
  [ 3,  4,  5] 
  [ 6,  7,  8] 
  [ 9, 10, 11]]  
  [[12, 13, 14] 
   [15, 16, 17]
   [18, 19, 20] 
   [21, 22, 23]]]

numpy.itemsize

Thuộc tính mảng 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ả như sau:

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ả như sau:

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.

Sr.No. Thuộc tính & Mô tả
1

C_CONTIGUOUS (C)

Dữ liệu nằm trong một phân đoạn liền kề kiểu C duy nhất

2

F_CONTIGUOUS (F)

Dữ liệu nằm trong một phân đoạn liền kề theo kiểu Fortran

3

OWNDATA (O)

Mảng sở hữu bộ nhớ mà nó sử dụng hoặc mượn nó từ một đối tượng khác

4

WRITEABLE (W)

Vùng dữ liệu có thể được ghi vào. Đặt điều này thành False sẽ khóa dữ liệu, khiến dữ liệu ở chế độ chỉ đọc

5

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

6

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 phân bổ, mảng cơ sở sẽ được cập nhật với nội dung của mảng này

Thí dụ

Ví dụ sau đây cho thấy các giá trị hiện tại của cờ.

import numpy as np 
x = np.array([1,2,3,4,5]) 
print x.flags

Kết quả như sau:

C_CONTIGUOUS : True 
F_CONTIGUOUS : True 
OWNDATA : True 
WRITEABLE : True 
ALIGNED : True 
UPDATEIFCOPY : False