reduceColumnsGroup#

geetools.ee_feature_collection.FeatureCollectionAccessor.reduceColumnsGroup(reducer, groupBy='system:index', selectors=None)#

Reduce a FeatureColletion column/s grouped by a key column.

Parameters:
  • reducer (ee.Reducer) – The reducer.

  • groupBy (str) – The column that will be used to group the output.

  • selectors (Optional[list]) – An optional list of columns to reduce. If None it will use all columns.

Returns:

{
‘group1’: {
‘selector1’: {

‘reducer1_output’: value1, ‘reducer2_output’: value2,

}, ‘selector2’: {

’reducer1_output’: value1, ‘reducer2_output’: value2,

},

}, ‘group2’: {

’selector1’: {

‘reducer1_output’: value1, ‘reducer2_output’: value2,

}, ‘selector2’: {

’reducer1_output’: value1, ‘reducer2_output’: value2,

},

},

}

Return type:

a ee.Dictionary with the following structure

Examples

import ee, geetools
from geetools.utils import initialize_documentation

initialize_documentation()

fc = ee.FeatureCollection([
    ee.Feature(None, {"region": "north", "area": 2}),
    ee.Feature(None, {"region": "north", "area": 4}),
    ee.Feature(None, {"region": "south", "area": 6}),
])
grouped = fc.geetools.reduceColumnsGroup(
    reducer=ee.Reducer.mean(), groupBy="region", selectors=["area"]
)
grouped.getInfo()
{'north': {'area': {'mean': 3}}, 'south': {'area': {'mean': 6}}}