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 prod() trong NumPy

Trong bài tập này, bạn sẽ học cách sử dụng hàm numpy prod() để tính tích của các số trong một mảng. Hàm này là một công cụ hữu ích trong NumPy, giúp bạn dễ dàng tính toán tích của các phần tử trong một mảng một cách nhanh chóng và hiệu quả. Việc sử dụng hàm prod() sẽ giúp bạn thực hiện các phép tính nhân một cách đơn giản hơn, đặc biệt khi làm việc với các mảng nhiều chiều hoặc cần tính tích theo từng trục cụ thể. Hãy cùng tìm hiểu cách sử dụng hàm numpy prod() qua các ví dụ cụ thể dưới đây.

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 prod() trong NumPy

Giả sử bạn có ba số n, m, và k. Tích của ba số này là n x m x k. Ví dụ, tích của 2, 3, và 4 là 2 x 3 x 4 = 24.

Để tính tích của các số trong một mảng, bạn sử dụng hàm numpy prod():

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

Ví dụ về hàm prod() trong NumPy

Hãy xem một số ví dụ về cách sử dụng hàm numpy prod().

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

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

Ví dụ sau sử dụng hàm prod() để tính tích của các số trong một mảng 1-D:

import numpy as np

a = np.arange(1, 5)
result = np.prod(a)
#Bài viết này được đăng tại freetuts.net
print(a)
print(f'result={result}')

Kết quả:

[1 2 3 4]
result=24

Cách hoạt động:

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

a = np.arange(1, 5)

Tiếp theo, tính tích của tất cả các số trong mảng a:

result = np.prod(a)

Cuối cùng, hiển thị các số trong mảng a và kết quả tích của chúng:

print(a)
print(f'result={result}')

Lưu ý rằng bạn có thể truyền một đối tượng giống mảng như một danh sách vào hàm prod(). Ví dụ:

import numpy as np
#Bài viết này được đăng tại freetuts.net
result = np.prod([1, 2, 3, 4, 5])

print(f'result={result}')

Kết quả:

result=120

Sử dụng hàm numpy prod() với mảng nhiều chiều

Ví dụ sau sử dụng hàm prod() để tính tích của tất cả các số trong một mảng 2-D:

import numpy as np
#Bài viết này được đăng tại freetuts.net
result = np.prod([
    [1, 2],
    [3, 4]
])

print(f'result={result}')

Kết quả:

result=24

Để tính tích của các số theo một chiều nhất định, bạn có thể chỉ định tham số axis. Ví dụ, sau đây sử dụng hàm prod() để tính tích của các số theo trục 0:

import numpy as np
#Bài viết này được đăng tại freetuts.net
result = np.prod([
    [1, 2],
    [3, 4]
], axis=0)

print(f'result={result}')

Kết quả:

result=[3 8]

Screenshot 202024 06 06 20173136 png

Tương tự, bạn có thể tính tích của các số theo trục 1:

import numpy as np
#Bài viết này được đăng tại freetuts.net
result = np.prod([
    [1, 2],
    [3, 4]
], axis=1)

print(f'result={result}')

Kết quả:

result=[ 2 12]

Screenshot 202024 06 06 20173147 png

Chọn các số để bao gồm trong tích

Để chọn các số cụ thể để bao gồm trong tích, bạn sử dụng tham số where. Ví dụ:

import numpy as np
#Bài viết này được đăng tại freetuts.net
a = np.array([np.nan, 3, 4])
result = np.prod(a, where=[False, True, True])
print(result)

Kết quả:

12.0

Trong ví dụ này, mảng chứa ba phần tử: np.nan, 3, và 4.

Tham số where sử dụng một danh sách boolean để chỉ định phần tử nào trong mảng a nên được bao gồm trong tích.

Nếu giá trị của danh sách whereTrue, phần tử tương ứng của mảng đầu vào sẽ được bao gồm trong tích.

Các trường hợp đặc biệt

Lưu ý rằng nếu bạn truyền một mảng số nguyên lớn vào hàm prod() gây tràn số, hàm prod() sẽ không gây ra lỗi. Ví dụ:

import numpy as np
#Bài viết này được đăng tại freetuts.net
result = np.prod(np.arange(1, 100))
print(f'result={result}')

Kết quả:

result=0

Hàm prod() trả về 1 nếu mảng rỗng. Ví dụ:

import numpy as np
#Bài viết này được đăng tại freetuts.net
result = np.prod(np.array([]))

print(f'result={result}')

Kết quả:

1.0

Kết bài

Bằng cách sử dụng hàm numpy prod(), bạn có thể dễ dàng tính toán tích của các phần tử trong một mảng, từ mảng một chiều đến mảng nhiều chiều. Hàm này cung cấp nhiều tùy chọn linh hoạt như tính tích theo từng trục cụ thể hoặc lựa chọn các phần tử cụ thể để tính toán. Qua các ví dụ minh họa, mình đã thấy được tính ứng dụng cao và sự tiện lợi của hàm numpy prod() trong việc xử lý các phép toán nhân trong Python. Hãy áp dụng kiến thức này vào các bài toán thực tế của bạn để tối ưu hóa quá trình tính toán và phân tích dữ liệu.

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