ee.ImageCollection.select

Select bands from each image in a collection.

Returns the image collection with selected bands.

UsageReturns
ImageCollection.select(selectors, names)ImageCollection
ArgumentTypeDetails
this: imagecollectionImageCollectionThe ImageCollection instance.
selectorsList<Object>A list of names, regexes or numeric indices specifying the bands to select.
namesList<String>, optionalA list of new names for the output bands. Must match the number of bands selected.

Examples

Code Editor (JavaScript)

// A Sentinel-2 surface reflectance image collection.
var col = ee.ImageCollection('COPERNICUS/S2_SR')
    .filterBounds(ee.Geometry.Point(-122.152, 37.336))
    .filterDate('2021-01-01', '2021-02-01');
print('All band names', col.first().bandNames());

print('Select a band by name',
      col.select('B11').first().bandNames());

print('Select a band by index',
      col.select(10).first().bandNames());

print('Select bands using a list',
      col.select(['B11', 'B8', 'B3']).first().bandNames());

print('Select bands by an argument series',
      col.select('B11', 'B8', 'B3').first().bandNames());

print('Mixing string and integer selectors is valid',
      col.select(10, 'B8', 2).first().bandNames());

print('Rename selected bands using two corresponding lists',
      col.select(['B11', 'B8', 'B3'], ['SWIR1', 'NIR', 'Green'])
      .first().bandNames());

// Use regular expressions to select bands.
print('Match "QA" followed by any two characters',
      col.select('QA..').first().bandNames());

print('Match "B" followed by any character, any number of times',
      col.select('B.*').first().bandNames());

print('Match "B" followed by any character, and any optional third character',
      col.select('B..?').first().bandNames());

print('Match "B" followed by a character in the range 6-8',
      col.select('B[6-8]').first().bandNames());

print('Match "B" followed by a character in the range 1-9 and then 1-2',
      col.select('B[1-9][1-2]').first().bandNames());

print('Match "B" or "QA" each followed by any character, any number of times.',
      col.select('B.*|QA.*').first().bandNames());

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)

# A Sentinel-2 surface reflectance image collection.
col = ee.ImageCollection('COPERNICUS/S2_SR').filterBounds(
    ee.Geometry.Point(-122.152, 37.336)
    ).filterDate('2021-01-01', '2021-02-01')
print('All band names', col.first().bandNames().getInfo())

print('Select a band by name:',
      col.select('B11').first().bandNames().getInfo())

print('Select a band by index:',
      col.select(10).first().bandNames().getInfo())

print('Select bands using a list:',
      col.select(['B11', 'B8', 'B3']).first().bandNames().getInfo())

print('Select bands by an argument series:',
      col.select('B11', 'B8', 'B3').first().bandNames().getInfo())

print('Mixing string and integer selectors is valid:',
      col.select(10, 'B8', 2).first().bandNames().getInfo())

print('Rename selected bands using two corresponding lists:',
      col.select(['B11', 'B8', 'B3'], ['SWIR1', 'NIR', 'Green'])
      .first().bandNames().getInfo())

# Use regular expressions to select bands.
print('Match "QA" followed by any two characters:',
      col.select('QA..').first().bandNames().getInfo())

print('Match "B" followed by any character, any number of times:',
      col.select('B.*').first().bandNames().getInfo())

print('Match "B" followed by any character, and any optional third character:',
      col.select('B..?').first().bandNames().getInfo())

print('Match "B" followed by a character in the range 6-8:',
      col.select('B[6-8]').first().bandNames().getInfo())

print('Match "B" followed by a character in the range 1-9 and then 1-2:',
      col.select('B[1-9][1-2]').first().bandNames().getInfo())

print('Match "B" or "QA" each followed by any character, any number of times:',
      col.select('B.*|QA.*').first().bandNames().getInfo())