Create a custom ufunc in NumPy to Add 10 to each element
Basic ufunc Creation:
Write a Numpy program that creates a custom ufunc that adds 10 to every element in a NumPy array. Use this ufunc on a 1D array of integers.
Sample Solution:
Python Code:
import numpy as np
# Define a custom ufunc that adds 10 to each element
def add_ten(x):
return x + 10
# Create a ufunc from the custom function using np.frompyfunc
add_ten_ufunc = np.frompyfunc(add_ten, 1, 1)
# Create a 1D NumPy array of integers
array_1d = np.array([1, 2, 3, 4, 5])
# Apply the custom ufunc to the 1D array
result_array = add_ten_ufunc(array_1d)
# Print the original array and the resulting array
print('Original 1D array:', array_1d)
print('Resulting array after applying add_ten_ufunc:', result_array)
Output:
Original 1D array: [1 2 3 4 5] Resulting array after applying add_ten_ufunc: [11 12 13 14 15]
Explanation:
- Import Libraries:
- Imported numpy as "np" for array creation and manipulation.
- Define Custom Function:
- Define a custom function add_ten that takes input x and returns x + 10.
- Create ufunc:
- Create a ufunc from the custom function using "np.frompyfunc". The function takes the custom function, the number of input arguments (1), and the number of output arguments (1).
- Create 1D NumPy Array:
- Created a 1D NumPy array named array_1d with integers [1, 2, 3, 4, 5].
- Apply Custom ufunc:
- Apply the custom ufunc “add_ten_ufunc()” to the 1D array to obtain the result.
- Print Results:
- Print the original 1D array and the resulting array after applying the custom "ufunc".
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics