numpy.reshape() cung cấp hình dạng mới cho một mảng mà không thay đổi dữ liệu của nó. Cú pháp như sau:
numpy.reshape(arr, newshape, order='C')
Tham số
numpy.reshape() có thể chấp nhận các tham số sau:
- arr – Mảng đầu vào.
- shape – Điểm cuối của chuỗi
- newshape – Nếu là số nguyên, kết quả sẽ là mảng 1-D có độ dài đó, và một chiều có thể là -1.
- order – Xác định thứ tự đọc các phần tử mảng đầu vào.
- Nếu order là
'C', đọc và ghi các phần tử theo thứ tự chỉ mục kiểu C, nơi chỉ mục cuối thay đổi nhanh nhất và chỉ mục trục đầu tiên thay đổi chậm. 'F'nghĩa là đọc và ghi các phần tử theo thứ tự chỉ mục kiểu Fortran, nơi chỉ mục trục cuối thay đổi chậm và chỉ mục trục đầu tiên thay đổi nhanh.'A'nghĩa là đọc/ghi các phần tử theo thứ tự chỉ mục kiểu Fortran, khi mảng liền kề trong bộ nhớ.
- Nếu order là
Ví dụ 1
Xét ví dụ sau:
# Nhập numpy
import numpy as np
# Mảng đầu vào
x = np.array([[3, 5, 6], [7, 8, 9]])
print("Mảng đầu vào :\n", x)
# Hàm reshape()
y = np.reshape(x, (3, -3))
print("Mảngreshape: \n", y)
Kết quả
Sẽ tạo ra đầu ra sau:
Mảng đầu vào :
[[3 5 6]
[7 8 9]]
Mảngreshape:
[[3 5]
[6 7]
[8 9]]
Ví dụ 2
Xét ví dụ khác:
# Nhập numpy
import numpy as np
# Tạo mảng đầu vào
x = np.array([[1, 3, 4], [4, 6, 7]])
print("Mảng đầu vào :\n", x)
# Hàm reshape()
y = np.reshape(x, 6, order='C')
print("Mảngreshape: \n", y)
Kết quả
Sẽ tạo ra đầu ra sau:
Mảng đầu vào :
[[1 3 4]
[4 6 7]]
Mảngreshape:
[1 3 4 4 6 7]