公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.FeatureCollection.reduceColumns
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
使用给定的选择器确定输入,然后将化简器应用于集合的每个元素。
返回一个结果字典,其中包含以输出名称为键的结果。
用法 | 返回 |
---|
FeatureCollection.reduceColumns(reducer, selectors, weightSelectors) | 字典 |
参数 | 类型 | 详细信息 |
---|
此:collection | FeatureCollection | 要汇总的集合。 |
reducer | 缩减器 | 要应用的缩减器。 |
selectors | 列表 | 针对每个 reducer 输入的选择器。 |
weightSelectors | 列表,默认值:null | 用于选择每个加权 reducer 输入的 selector。 |
示例
代码编辑器 (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 设置
如需了解 Python API 和如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
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())
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003ereduceColumns\u003c/code\u003e applies a reducer function to properties (columns) of a FeatureCollection, effectively aggregating data across all features.\u003c/p\u003e\n"],["\u003cp\u003eIt takes a reducer, a list of selectors specifying the properties to use as input, and optionally, weight selectors for weighted reductions.\u003c/p\u003e\n"],["\u003cp\u003eThe output is a dictionary containing the results, keyed by the names defined within the reducer.\u003c/p\u003e\n"],["\u003cp\u003eThis function allows for calculating statistics such as mean, sum, or other custom aggregations across the features in a FeatureCollection, using specified properties and optional weights.\u003c/p\u003e\n"],["\u003cp\u003eExamples provided demonstrate calculating mean and weighted mean of properties within a FeatureCollection of power plants.\u003c/p\u003e\n"]]],["The `reduceColumns` function applies a reducer to a FeatureCollection, generating a dictionary of results. It uses `selectors` to specify input properties and can use `weightSelectors` for weighted inputs. The function takes a `reducer`, and a list of `selectors` and `weightSelectors`. This method can calculate means of single or multiple properties and weighted means by using a reducer and specifying properties to calculate on. The results are returned as a dictionary.\n"],null,["# ee.FeatureCollection.reduceColumns\n\nApply a reducer to each element of a collection, using the given selectors to determine the inputs.\n\n\u003cbr /\u003e\n\nReturns a dictionary of results, keyed with the output names.\n\n| Usage | Returns |\n|----------------------------------------------------------------------------|------------|\n| FeatureCollection.reduceColumns`(reducer, selectors, `*weightSelectors*`)` | Dictionary |\n\n| Argument | Type | Details |\n|--------------------|---------------------|----------------------------------------------------|\n| this: `collection` | FeatureCollection | The collection to aggregate over. |\n| `reducer` | Reducer | The reducer to apply. |\n| `selectors` | List | A selector for each input of the reducer. |\n| `weightSelectors` | List, default: null | A selector for each weighted input of the reducer. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// FeatureCollection of power plants in Belgium.\nvar fc = ee.FeatureCollection('WRI/GPPD/power_plants')\n .filter('country_lg == \"Belgium\"');\n\n// Calculate mean of a single FeatureCollection property.\nvar propMean = fc.reduceColumns({\n reducer: ee.Reducer.mean(),\n selectors: ['gwh_estimt']\n});\nprint('Mean of a single property', propMean);\n\n// Calculate mean of multiple FeatureCollection properties.\nvar propsMean = fc.reduceColumns({\n reducer: ee.Reducer.mean().repeat(2),\n selectors: ['gwh_estimt', 'capacitymw']\n});\nprint('Mean of multiple properties', propsMean);\n\n// Calculate weighted mean of a single FeatureCollection property. Add a fuel\n// source weight property to the FeatureCollection.\nvar fuelWeights = ee.Dictionary({\n Wind: 0.9,\n Gas: 0.2,\n Oil: 0.2,\n Coal: 0.1,\n Hydro: 0.7,\n Biomass: 0.5,\n Nuclear: 0.3\n});\nfc = fc.map(function(feature) {\n return feature.set('weight', fuelWeights.getNumber(feature.get('fuel1')));\n});\n\nvar weightedMean = fc.reduceColumns({\n reducer: ee.Reducer.mean(),\n selectors: ['gwh_estimt'],\n weightSelectors: ['weight']\n});\nprint('Weighted mean of a single property', weightedMean);\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# FeatureCollection of power plants in Belgium.\nfc = ee.FeatureCollection('WRI/GPPD/power_plants').filter(\n 'country_lg == \"Belgium\"')\n\n# Calculate mean of a single FeatureCollection property.\nprop_mean = fc.reduceColumns(**{\n 'reducer': ee.Reducer.mean(),\n 'selectors': ['gwh_estimt']\n })\nprint('Mean of a single property:', prop_mean.getInfo())\n\n# Calculate mean of multiple FeatureCollection properties.\nprops_mean = fc.reduceColumns(**{\n 'reducer': ee.Reducer.mean().repeat(2),\n 'selectors': ['gwh_estimt', 'capacitymw']\n })\nprint('Mean of multiple properties:', props_mean.getInfo())\n\n\n# Calculate weighted mean of a single FeatureCollection property. Add a fuel\n# source weight property to the FeatureCollection.\ndef get_fuel(feature):\n return feature.set('weight', fuel_weights.getNumber(feature.get('fuel1')))\n\nfuel_weights = ee.Dictionary({\n 'Wind': 0.9,\n 'Gas': 0.2,\n 'Oil': 0.2,\n 'Coal': 0.1,\n 'Hydro': 0.7,\n 'Biomass': 0.5,\n 'Nuclear': 0.3\n })\n\nfc = fc.map(get_fuel)\n\nweighted_mean = fc.reduceColumns(**{\n 'reducer': ee.Reducer.mean(),\n 'selectors': ['gwh_estimt'],\n 'weightSelectors': ['weight']\n })\nprint('Weighted mean of a single property:', weighted_mean.getInfo())\n```"]]