ee.Array.accum

  • The accum method accumulates elements of an array along a specified axis, resulting in a new array where each element is the reduction of elements up to that position.

  • This method can be used to calculate a cumulative sum or generate a monotonically increasing sequence.

  • The accum method takes the axis and an optional reducer as arguments, and returns an array.

  • The default reducer for accum is SUM, which computes the cumulative sum.

  • Different reducers like MAX, MEAN, MIN, and PRODUCT can also be used with the accum method to perform various cumulative operations.

Accumulates elements of an array along the given axis, by setting each element of the result to the reduction of elements along that axis up to and including the current position. May be used to make a cumulative sum, a monotonically increasing sequence, etc.

UsageReturns
Array.accum(axis, reducer)Array
ArgumentTypeDetails
this: arrayArrayArray to accumulate.
axisIntegerAxis along which to perform the accumulation.
reducerReducer, default: nullReducer to accumulate values. Default is SUM, to produce the cumulative sum of each vector along the given axis.

Examples

Code Editor (JavaScript)

print(ee.Array([-1]).accum(0));  // [-1]
print(ee.Array([-2, 1]).accum(0));  // [-2, -1]
print(ee.Array([-2, 1, 9]).accum(0));  // [-2, -1, 8]

// accum over 2D arrays with different axes.
print(ee.Array([[1, 3], [5, 7]]).accum(0));  // [[1,3],[6,10]]
print(ee.Array([[1, 3], [5, 7]]).accum(1));  // [[1,4],[5,12]]

// sum is the default reducer.
print(ee.Array([2, -2, 3, 1]).accum(0));  // [2,0,3,4]
print(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.sum()));  // [2,0,3,4]

// Some example reducers.
print(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.max()));  // [2,2,3,3]
print(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.mean()));  // [2,0,1,1]
print(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.min()));  // [2,-2,-2,-2]
print(ee.Array([2, -2, 3]).accum(0, ee.Reducer.product()));  // [2,-4,-12]

Python setup

See the Python Environment page for information on the Python API and using geemap for interactive development.

import ee
import geemap.core as geemap

Colab (Python)

display(ee.Array([-1]).accum(0))  # [-1]
display(ee.Array([-2, 1]).accum(0))  # [-2, -1]
display(ee.Array([-2, 1, 9]).accum(0))  # [-2, -1, 8]

# accum over 2D arrays with different axes.
display(ee.Array([[1, 3], [5, 7]]).accum(0))  # [[1, 3],[6, 10]]
display(ee.Array([[1, 3], [5, 7]]).accum(1))  # [[1, 4],[5, 12]]

# sum is the default reducer.
display(ee.Array([2, -2, 3, 1]).accum(0))  # [2, 0, 3, 4]

# [2, 0, 3, 4]
display(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.sum()))


# Some example reducers.
# [2, 2, 3, 3]
display(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.max()))


# [2, 0, 1, 1]
display(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.mean()))

# [2, -2, -2, -2]
display(ee.Array([2, -2, 3, 1]).accum(0, ee.Reducer.min()))

# [2, -4, -12]
display(ee.Array([2, -2, 3]).accum(0, ee.Reducer.product()))