NUMPY
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Cách sử dụng hàm reshape() trong NumPy

Trong bài viết này, bạn sẽ học cách sử dụng hàm numpy reshape() để thay đổi hình dạng của một mảng. Hàm reshape() là một công cụ mạnh mẽ trong thư viện NumPy, cho phép bạn thay đổi cấu trúc của mảng mà không làm thay đổi dữ liệu bên trong. Việc này rất hữu ích khi bạn cần điều chỉnh dữ liệu cho các phép tính toán khác nhau hoặc để phù hợp với các yêu cầu đầu vào của các hàm và thuật toán khác. Bây giờ, chúng ta sẽ cùng tìm hiểu cách sử dụng hàm numpy reshape() thông qua các ví dụ cụ thể.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giới thiệu về hàm reshape() trong Numpy

Hình dạng của một mảng lưu trữ số chiều (hoặc trục) và số phần tử trên mỗi chiều. Thuộc tính shape trả về một tuple mô tả hình dạng của mảng.

Hàm reshape() thay đổi hình dạng của một mảng mà không thay đổi các phần tử của nó. Đây là cú pháp của hàm reshape():

numpy.reshape(a, newshape, order='C')

Trong cú pháp này, hàm reshape() thay đổi hình dạng của mảng a thành newshape nhưng giữ nguyên số lượng phần tử.

Bài viết này được đăng tại [free tuts .net]

Hàm reshape() tương đương với việc gọi phương thức reshape() trên mảng a:

a.reshape(newshape, order='C')

Ví dụ về hàm reshape() trong Numpy

Hãy xem một số ví dụ về việc sử dụng hàm reshape().

Sử dụng hàm numpy reshape() với mảng 1-D

Ví dụ sau sử dụng hàm numpy reshape() để thay đổi một mảng 1-D có 4 phần tử thành một mảng 2-D:

import numpy as np

a = np.arange(1, 5)
print(a)

b = np.reshape(a, (2, 2))
print(b)

Kết quả:

[1 2 3 4]
[[1 2] 
 [3 4]]

Screenshot 202024 06 06 20162931 png

Cách hoạt động:

  • Đầu tiên, tạo một mảng 1-D với bốn số từ 1 đến 4 bằng cách sử dụng hàm arange():

a = np.arange(1, 5)
print(a)

Thứ hai, thay đổi hình dạng của mảng a thành một mảng hai chiều, mỗi chiều có 2 phần tử:

b = np.reshape(a, (2, 2))
print(b)

Hàm numpy reshape() trả về một view

Lưu ý rằng mảng b là một view của mảng a. Điều này có nghĩa là nếu bạn thay đổi một phần tử của mảng b, sự thay đổi này sẽ được phản ánh trong mảng a. Ví dụ:

import numpy as np

a = np.arange(1, 5)
b = np.reshape(a, (2, 2))

# thay đổi phần tử [0,0]
b[0, 0] = 0

print(b)
print(a)

Kết quả:

[[0 2] 
 [3 4]]
[0 2 3 4]

Trong ví dụ này, mình thay đổi phần tử tại chỉ số [0,0] trong mảng b. Sự thay đổi này cũng được phản ánh trong mảng a.

Kết bài

Sử dụng hàm numpy reshape() để thay đổi hình dạng của một mảng mà không thay đổi các phần tử của nó là một kỹ thuật quan trọng trong xử lý dữ liệu. Hàm reshape() cho phép bạn linh hoạt hơn trong việc thao tác với dữ liệu, đảm bảo rằng cấu trúc của mảng phù hợp với yêu cầu của các thuật toán và phép tính toán khác nhau. Điều quan trọng cần nhớ là bạn có thể thay đổi hình dạng của một mảng miễn là số lượng phần tử trong mảng không thay đổi. Qua các ví dụ minh họa, chúng ta đã thấy cách sử dụng hàm reshape() một cách hiệu quả, giúp tối ưu hóa và đơn giản hóa quá trình xử lý dữ liệu trong Python với NumPy.

Cùng chuyên mục:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top