Có nhiều cách để áp dụng hàm cho từng phần tử của Mảng NumPy. Hãy thảo luận từng phương pháp một với cách tiếp cận phù hợp và một ví dụ về mã hoạt động
quảng cáo
Áp dụng hàm trên Mảng NumPy bằng hàm được vector hóa
Mô-đun numpy có một lớp vectorize. Nó lấy một hàm python làm đối số và trả về một hàm được vector hóa. Hàm được vector hóa này lấy một mảng NumPy làm đối số và gọi hàm được gán trước đó cho từng phần tử của mảng. Sau đó trả về một mảng NumPy chứa kết quả
Cú pháp véc tơ hóa
numpy.vectorize[pyfunc]
- Thông số
- pyfunc = Hàm hoặc phương thức Python
- trả lại
- Trả về một hàm vector hóa
Trước tiên, hãy tạo một hàm mà bạn muốn áp dụng trên mảng, sau đó làm theo cách tiếp cận sau
Tiếp cận
- Nhập thư viện numpy và tạo mảng numpy
- Tạo một hàm mà bạn muốn áp dụng trên từng phần tử của NumPy Array. Ví dụ hàm có tên add[]
- Truyền hàm add[] này cho lớp vectorize. Nó trả về một hàm vector hóa
- Truyền mảng NumPy cho hàm vector hóa
- Hàm được vector hóa sẽ áp dụng hàm được gán trước đó [ add[] ] cho từng phần tử của mảng và trả về một Mảng NumPy chứa kết quả
- In mảng
Mã nguồn
import numpy as np # A function to be applied to the array def add[num]: return num + 10 # creating numpy array arr = np.array[[1, 2, 3, 4, 5]] # printing the original array print[" The original array : " , arr] # Apply add[] function to array. addTen = np.vectorize[add] arr = addTen[arr] # printing the array after applying function print[" The array after applying function : " , arr]
đầu ra
The original array : [1 2 3 4 5] The array after applying function : [11 12 13 14 15]
Áp dụng hàm trên Mảng NumPy bằng hàm map[]
Hàm map[] của python nhận chức năng và có thể lặp lại làm tham số. Sau đó, nó áp dụng hàm đã cho trên tất cả các phần tử của iterable đã cho và trả về một đối tượng được ánh xạ. Chúng tôi có thể lặp lại đối tượng được ánh xạ này để nhận tất cả các giá trị kết quả hoặc chúng tôi có thể trực tiếp chuyển đổi nó thành một danh sách
Cú pháp hàm map[]
map[function, iterator]
- Thông số
- function = Hàm hoặc phương thức Python
- iterator = Danh sách, bộ, tuple
- trả lại
- Trả về một iterator
Trước tiên, hãy tạo một hàm mà bạn muốn áp dụng trên mảng và làm theo cách tiếp cận sau,
Tiếp cận
- Nhập thư viện numpy và tạo mảng numpy
- Tạo một hàm để thêm một số vào tham số chức năng
- Truyền hàm này và mảng cho hàm map[]. Nó sẽ trả về một đối tượng được ánh xạ bằng cách áp dụng hàm cho từng phần tử của trình vòng lặp
- Chuyển đổi đối tượng được ánh xạ thành danh sách
- Chuyển đổi nó thành một mảng và in nó
Mã nguồn
import numpy as np # function to be applied to the array def add[num]: return num+10 # creating numpy array arr = np.array[[1, 2, 3, 4, 5]] # printing the original array print[" The original array : " , arr] # Apply add[] function to array. arr = np.array[list[map[add, arr]]] # printing the array after applying function print[" The array after applying function : " , arr]
đầu ra
The original array : [1 2 3 4 5] The array after applying function : [11 12 13 14 15]
Áp dụng một hàm trên Mảng NumPy bằng Sử dụng cho vòng lặp
Chúng ta có thể lặp lại một mảng NumPy và áp dụng hàm đã cho trên từng phần tử một
Tiếp cận
- Nhập thư viện numpy và tạo mảng numpy
- Sử dụng vòng lặp for và phương thức range[] lặp lại trên mảng
- Áp dụng hàm đã cho cho từng phần tử của mảng
- In mảng
Mã nguồn
import numpy as np # function to be applied to the array def add[num]: return num+10 # creating numpy array arr = np.array[[1, 2, 3, 4, 5]] # printing the original array print[" The original array : " , arr] # Apply add[] function to array. for i in range[0,len[arr]]: arr[i] = add[arr[i]] # printing the array after applying function print[" The array after applying function : " , arr]
đầu ra
The original array : [1 2 3 4 5] The array after applying function : [11 12 13 14 15]
Áp dụng một chức năng trên Mảng NumPy bằng cách sử dụng Danh sách hiểu
Khả năng hiểu Danh sách được sử dụng để tạo danh sách mới từ các lần lặp như bộ dữ liệu, chuỗi, mảng, danh sách, Chúng cung cấp cú pháp rất nhỏ. Bây giờ để áp dụng một chức năng trên toàn bộ mảng. Sử dụng Khả năng hiểu danh sách để lặp lại mảng và áp dụng hàm đã cho cho từng phần tử của mảng có nhiều mảng
Tiếp cận
- Nhập thư viện numpy và tạo mảng numpy
- Sử dụng List Comprehension để lặp lại mảng
- Áp dụng hàm đã cho cho từng phần tử của mảng và nhận tất cả các kết quả trong một danh sách
- Chuyển đổi nó thành NumPy Array và in nó
Mã nguồn
________số 8_______đầu ra
numpy.vectorize[pyfunc]0
Tóm lược
Tuyệt vời. bạn đã tạo ra nó, Chúng tôi đã thảo luận về Tất cả các phương thức có thể áp dụng một phương thức trên tất cả các phần tử của Mảng NumPy trong Python. học tập vui vẻ