Apply a reducer to each element of a collection, using the given selectors to determine the inputs.
Returns a dictionary of results, keyed with the output names.
Usage | Returns | FeatureCollection.reduceColumns(reducer, selectors, weightSelectors) | Dictionary |
Argument | Type | Details | this: collection | FeatureCollection | The collection to aggregate over. |
reducer | Reducer | The reducer to apply. |
selectors | List | A selector for each input of the reducer. |
weightSelectors | List, default: null | A selector for each weighted input of the reducer. |
Examples
Code Editor (JavaScript)
// FeatureCollection of power plants in Belgium.
var fc = ee.FeatureCollection('WRI/GPPD/power_plants')
.filter('country_lg == "Belgium"');
// Calculate mean of a single FeatureCollection property.
var propMean = fc.reduceColumns({
reducer: ee.Reducer.mean(),
selectors: ['gwh_estimt']
});
print('Mean of a single property', propMean);
// Calculate mean of multiple FeatureCollection properties.
var propsMean = fc.reduceColumns({
reducer: ee.Reducer.mean().repeat(2),
selectors: ['gwh_estimt', 'capacitymw']
});
print('Mean of multiple properties', propsMean);
// Calculate weighted mean of a single FeatureCollection property. Add a fuel
// source weight property to the FeatureCollection.
var fuelWeights = ee.Dictionary({
Wind: 0.9,
Gas: 0.2,
Oil: 0.2,
Coal: 0.1,
Hydro: 0.7,
Biomass: 0.5,
Nuclear: 0.3
});
fc = fc.map(function(feature) {
return feature.set('weight', fuelWeights.getNumber(feature.get('fuel1')));
});
var weightedMean = fc.reduceColumns({
reducer: ee.Reducer.mean(),
selectors: ['gwh_estimt'],
weightSelectors: ['weight']
});
print('Weighted mean of a single property', weightedMean);
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)
# FeatureCollection of power plants in Belgium.
fc = ee.FeatureCollection('WRI/GPPD/power_plants').filter(
'country_lg == "Belgium"')
# Calculate mean of a single FeatureCollection property.
prop_mean = fc.reduceColumns(**{
'reducer': ee.Reducer.mean(),
'selectors': ['gwh_estimt']
})
print('Mean of a single property:', prop_mean.getInfo())
# Calculate mean of multiple FeatureCollection properties.
props_mean = fc.reduceColumns(**{
'reducer': ee.Reducer.mean().repeat(2),
'selectors': ['gwh_estimt', 'capacitymw']
})
print('Mean of multiple properties:', props_mean.getInfo())
# Calculate weighted mean of a single FeatureCollection property. Add a fuel
# source weight property to the FeatureCollection.
def get_fuel(feature):
return feature.set('weight', fuel_weights.getNumber(feature.get('fuel1')))
fuel_weights = ee.Dictionary({
'Wind': 0.9,
'Gas': 0.2,
'Oil': 0.2,
'Coal': 0.1,
'Hydro': 0.7,
'Biomass': 0.5,
'Nuclear': 0.3
})
fc = fc.map(get_fuel)
weighted_mean = fc.reduceColumns(**{
'reducer': ee.Reducer.mean(),
'selectors': ['gwh_estimt'],
'weightSelectors': ['weight']
})
print('Weighted mean of a single property:', weighted_mean.getInfo())