Announcement: All noncommercial projects registered to use Earth Engine beforeApril 15, 2025 mustverify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.

ee.FeatureCollection.randomColumn

  • This function adds a column of deterministic pseudorandom numbers to a FeatureCollection.

  • The random numbers can follow either a 'uniform' distribution (range [0, 1)) or a 'normal' distribution (mean 0, standard deviation 1).

  • Arguments control the column name, the seed for reproducibility, the distribution type, and the properties used to uniquely identify elements for number generation.

  • The function returns the modified FeatureCollection with the added random column.

Adds 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.

UsageReturns
FeatureCollection.randomColumn(columnName,seed,distribution,rowKeys)FeatureCollection
ArgumentTypeDetails
this:collectionFeatureCollectionThe input collection to which to add a random column.
columnNameString, default: "random"The name of the column to add.
seedLong, default: 0A seed used when generating the random numbers.
distributionString, default: "uniform"The distribution type of random numbers to produce; one of 'uniform' or 'normal'.
rowKeysList, optionalA list of properties that should uniquely and repeatably identify an element of the collection, used to generate the random number. Defaults to [system:index].

Examples

Code Editor (JavaScript)

// FeatureCollection of power plants in Belgium.varfc=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.varrandomSample30=fc.filter('random < 0.3');print('N features in 30% sample',randomSample30.size());varrandomSample70=fc.filter('random >= 0.3');print('N features in 70% sample',randomSample70.size());

Python setup

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

importeeimportgeemap.coreasgeemap

Colab (Python)

# FeatureCollection of power plants in Belgium.fc=ee.FeatureCollection('WRI/GPPD/power_plants').filter('country_lg == "Belgium"')display('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.random_sample_30=fc.filter('random < 0.3')display('N features in 30% sample:',random_sample_30.size())random_sample_70=fc.filter('random >= 0.3')display('N features in 70% sample:',random_sample_70.size())

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-04-01 UTC.