公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.FeatureCollection.randomColumn
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
向集合添加一列确定性伪随机数。输出是双精度浮点数。使用“均匀”分布(默认)时,输出值在 [0, 1] 范围内。使用“正态”分布时,输出的 μ=0,σ=1,但没有明确的限制。
用法 | 返回 |
---|
FeatureCollection.randomColumn(columnName, seed, distribution, rowKeys) | FeatureCollection |
参数 | 类型 | 详细信息 |
---|
this:collection | FeatureCollection | 要向其中添加随机列的输入集合。 |
columnName | 字符串,默认值:“random” | 要添加的列的名称。 |
seed | 长整数,默认值:0 | 生成随机数时使用的种子。 |
distribution | 字符串,默认值:“uniform” | 要生成的随机数的分布类型;可以是“均匀”或“正态”之一。 |
rowKeys | 列表,可选 | 应唯一且可重复地标识集合元素的属性列表,用于生成随机数字。默认值为 [system:index]。 |
示例
Code Editor (JavaScript)
// FeatureCollection of power plants in Belgium.
var fc = ee.FeatureCollection('WRI/GPPD/power_plants')
.filter('country_lg == "Belgium"');
print('N features in collection', fc.size());
// Add a uniform distribution random value column to the FeatureCollection.
fc = fc.randomColumn();
// Randomly split the collection into two sets, 30% and 70% of the total.
var randomSample30 = fc.filter('random < 0.3');
print('N features in 30% sample', randomSample30.size());
var randomSample70 = fc.filter('random >= 0.3');
print('N features in 70% sample', randomSample70.size());
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"')
print('N features in collection:', fc.size().getInfo())
# Add a uniform distribution random value column to the FeatureCollection.
fc = fc.randomColumn()
# Randomly split the collection into two sets, 30% and 70% of the total.
random_sample_30 = fc.filter('random < 0.3')
print('N features in 30% sample:', random_sample_30.size().getInfo())
random_sample_70 = fc.filter('random >= 0.3')
print('N features in 70% sample:', random_sample_70.size().getInfo())
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003e\u003ccode\u003erandomColumn()\u003c/code\u003e adds a new column of pseudorandom numbers to a FeatureCollection, with the default column name being "random".\u003c/p\u003e\n"],["\u003cp\u003eThe generated random numbers can follow either a uniform distribution ([0, 1)) or a normal distribution (μ=0, σ=1) specified using the \u003ccode\u003edistribution\u003c/code\u003e parameter.\u003c/p\u003e\n"],["\u003cp\u003eUsers can provide a seed value for reproducibility using the \u003ccode\u003eseed\u003c/code\u003e parameter, ensuring the same sequence of random numbers is generated for a given seed.\u003c/p\u003e\n"],["\u003cp\u003eThis function is commonly used for tasks like randomly splitting a FeatureCollection into subsets for training and testing machine learning models, as demonstrated in the examples.\u003c/p\u003e\n"]]],["This tool adds a column of pseudorandom numbers to a FeatureCollection. Users can specify the `columnName`, `seed`, and `distribution`. The default distribution, 'uniform', generates numbers between 0 and 1; 'normal' produces numbers with a mean of 0 and a standard deviation of 1. The `randomColumn` method returns the modified FeatureCollection. This is exemplified by creating random splits into subsets. The outputs are double-precision floating point numbers.\n"],null,["# ee.FeatureCollection.randomColumn\n\nAdds a column of deterministic pseudorandom numbers to a collection. The outputs are double-precision floating point numbers. When using the 'uniform' distribution (default), outputs are in the range of \\[0, 1). Using the 'normal' distribution, outputs have μ=0, σ=1, but have no explicit limits.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------------------------------------------|-------------------|\n| FeatureCollection.randomColumn`(`*columnName* `, `*seed* `, `*distribution* `, `*rowKeys*`)` | FeatureCollection |\n\n| Argument | Type | Details |\n|--------------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `collection` | FeatureCollection | The input collection to which to add a random column. |\n| `columnName` | String, default: \"random\" | The name of the column to add. |\n| `seed` | Long, default: 0 | A seed used when generating the random numbers. |\n| `distribution` | String, default: \"uniform\" | The distribution type of random numbers to produce; one of 'uniform' or 'normal'. |\n| `rowKeys` | List, optional | A list of properties that should uniquely and repeatably identify an element of the collection, used to generate the random number. Defaults to \\[system:index\\]. |\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\"');\nprint('N features in collection', fc.size());\n\n// Add a uniform distribution random value column to the FeatureCollection.\nfc = fc.randomColumn();\n\n// Randomly split the collection into two sets, 30% and 70% of the total.\nvar randomSample30 = fc.filter('random \u003c 0.3');\nprint('N features in 30% sample', randomSample30.size());\n\nvar randomSample70 = fc.filter('random \u003e= 0.3');\nprint('N features in 70% sample', randomSample70.size());\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\"')\nprint('N features in collection:', fc.size().getInfo())\n\n# Add a uniform distribution random value column to the FeatureCollection.\nfc = fc.randomColumn()\n\n# Randomly split the collection into two sets, 30% and 70% of the total.\nrandom_sample_30 = fc.filter('random \u003c 0.3')\nprint('N features in 30% sample:', random_sample_30.size().getInfo())\n\nrandom_sample_70 = fc.filter('random \u003e= 0.3')\nprint('N features in 70% sample:', random_sample_70.size().getInfo())\n```"]]