Skip to main content
Documents
basicsArray CreationArray OperationsArray Computation & AnalysisLinear AlgebraRandom ProbabilityData Input/Output & Conversion

NumPy sum()

NumPy's `sum()` function is a powerful tool for array computation and analysis, allowing users to efficiently compute the sum of array elements along a specified axis. It is widely used for aggregating data in numerical computations.

Usage
The `sum()` function is used to calculate the total of array elements for numerical analysis or data manipulation. It can sum values along specified axes for multi-dimensional arrays to provide insights into datasets.

numpy.sum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)
  • a: Input array.
  • axis: Axis or axes along which a sum is performed. By default, it sums all elements. This can be an integer or a tuple of integers for summing over multiple axes.
  • dtype: Desired data-type for the result, ensuring precision.
  • out: Alternative output array in which to place the result. This can help avoid temporary arrays and optimize performance in memory-critical applications.
  • keepdims: If set to True, the axes which are reduced are left as dimensions with size one, maintaining the original dimensions' shape.
  • initial: Starting value for the sum, providing an offset to the total.
  • where: A boolean array that specifies which elements to include in the sum.

Examples

1. Basic Sum of Array

import numpy as np

arr = np.array([1, 2, 3, 4])
total_sum = np.sum(arr)
print(total_sum)

This example calculates the sum of all the elements in the array arr, resulting in 10.

2. Sum Along a Specific Axis

import numpy as np

arr = np.array([[1, 2], [3, 4]])
sum_axis_0 = np.sum(arr, axis=0)
print(sum_axis_0)

Here, the sum is computed along the first axis (rows), producing an array [4, 6].

3. Sum with Specified Data Type

import numpy as np

arr = np.array([1, 2, 3, 4], dtype=np.int32)
sum_dtype = np.sum(arr, dtype=np.float64)
print(sum_dtype)

This example computes the sum of arr using a higher precision data type float64, resulting in 10.0.

4. Using keepdims Parameter

import numpy as np

arr = np.array([[1, 2], [3, 4]])
sum_keepdims = np.sum(arr, axis=0, keepdims=True)
print(sum_keepdims)

This example shows the sum with keepdims=True, resulting in an array [[4, 6]] maintaining the original dimensions.

5. Sum with out Parameter

import numpy as np

arr = np.array([1, 2, 3, 4])
result = np.empty((), dtype=np.float64)
np.sum(arr, out=result)
print(result)

This example demonstrates using the out parameter to store the result in a pre-allocated array.

6. Sum with Multiple Parameters

import numpy as np

arr = np.array([[1, 2], [3, 4]])
sum_multi = np.sum(arr, axis=(0, 1), dtype=np.float64, initial=10)
print(sum_multi)

This example shows summing over multiple axes with an initial value, resulting in 20.0.

Tips and Best Practices

  • Choose the correct axis. Use the axis parameter to perform operations along the desired dimension for accurate analysis. Misunderstandings about this parameter can lead to incorrect results.
  • Ensure data type precision. Specify dtype to prevent data overflow, especially with large arrays or integer data types, which might suffer from precision issues.
  • Use keepdims for dimensional consistency. When maintaining the original dimensions' shape is crucial, set keepdims=True.
  • Leverage array broadcasting. When summing over axes, ensure the array dimensions are compatible for efficient operations.
  • Optimize performance. Use out parameter to store results in a pre-allocated array and save memory allocation time, which is especially beneficial in performance-critical applications.
  • Be aware of common pitfalls. Pay attention to the use of axis and data types to avoid unexpected results.