Element-wise Operations

Generally, NumPy arrays are more efficient than lists. One reason is that they allow you to do element-wise operations. An element-wise operation allows you to quickly perform an operation, such as addition, on each element in an array.

Element-wise Mathematical Computation

odds = np.array([1, 3, 5, 7, 9])
evens = odds + 1
print(evens)
# array([2, 4, 6, 8, 10])

Multiple arrays can also be used in arithmetic operations, provided that they have the same lengths. When adding or subtracting arrays in NumPy, each element will be added/subtracted to its matching element.

array1 = np.array([1, 2, 3])
array2 = np.array([4, 3, 2])
new_array = array1 + array2
print(new_array)
# array([5, 5, 5])

Element-wise Logical Operations

NumPy Arrays support element-wise logical operations, returning new Arrays populated with False or True based on their evaluation.

>>> a = np.array([10, 2, 2, 4, 5, 3, 9, 8, 9, 7])
>>> a > 5
array([True, False, False, False, False, 
        False, True, True, True, True], 
        dtype=bool)

Element-wise Functions in NumPy

abs, fabs Compute the absolute value element-wise for integer, floating point, or complex values. Use fabs as a faster alternative for non-complex-valued data

sqrt Compute the square root of each element. Equivalent to arr ** 0.5

square Compute the square of each element. Equivalent to arr ** 2

exp Compute the exponent ex of each element

log, log10, log2, log1p Natural logarithm (base e), log base 10, log base 2, and log(1 + x), respectively

sign Compute the sign of each element: 1 (positive), 0 (zero), or -1 (negative)

ceil Compute the ceiling of each element, i.e. the smallest integer greater than or equal to each element

floor Compute the floor of each element, i.e. the largest integer less than or equal to each element

rint Round elements to the nearest integer, preserving the dtype

modf Return fractional and integral parts of array as separate array

isnan Return boolean array indicating whether each value is NaN (Not a Number)

isfinite, isinf Return boolean array indicating whether each element is finite (non-inf, non-NaN) or infinite, respectively

cos, cosh, sin, sinh, tan, tanh Regular and hyperbolic trigonometric functions

arccos, arccosh, arcsin, arcsinh, arctan, arctanh Inverse trigonometric functions

logical_not Compute truth value of not x element-wise. Equivalent to -arr.

add Add corresponding elements in arrays

subtract Subtract elements in second array from first array

multiply Multiply array elements

divide, floor_divide Divide or floor divide (truncating the remainder)

power Raise elements in first array to powers indicated in second array

maximum, fmax Element-wise maximum. fmax ignores NaN

minimum, fmin Element-wise minimum. fmin ignores NaN

mod Element-wise modulus (remainder of division)

copysign Copy sign of values in second argument to values in first argument

greater, greater_equal, less, less_equal, equal, not_equalPerform element-wise comparison, yielding boolean array. Equivalent to infix operators >, >=, <, <=, ==, !=

logical_and, logical_or, logical_xor Compute element-wise truth value of logical operation. Equivalent to infix operators &, |, ^.

Last updated

Was this helpful?