Stay organized with collectionsSave and categorize content based on your preferences.
Map an algorithm over a dictionary. The algorithm is expected to take 2 arguments, a key from the existing dictionary and the value it corresponds to, and return a new value for the given key. If the algorithm returns null, the key is dropped.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-13 UTC."],[[["\u003cp\u003e\u003ccode\u003eDictionary.map()\u003c/code\u003e applies a provided algorithm to each key-value pair in a dictionary, transforming the values based on the algorithm's logic.\u003c/p\u003e\n"],["\u003cp\u003eThe algorithm used by \u003ccode\u003eDictionary.map()\u003c/code\u003e receives a key and its corresponding value as input, and it should return the new value for that key.\u003c/p\u003e\n"],["\u003cp\u003eIf the algorithm returns null for a specific key, that key-value pair will be excluded from the resulting dictionary.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eDictionary.map()\u003c/code\u003e is particularly useful for tasks like data transformation and filtering within dictionaries, offering a concise way to modify values based on custom logic.\u003c/p\u003e\n"],["\u003cp\u003eExample use cases include converting units of measurement within a dataset or selectively removing entries based on certain criteria applied to the key-value pairs.\u003c/p\u003e\n"]]],["The core content details the `map` function for dictionaries. This function applies a user-defined algorithm to each key-value pair within a dictionary. The algorithm takes a key and its corresponding value as input and returns a new value. The `map` function iterates through the dictionary, executes the provided algorithm on each pair, and generates a new dictionary with the updated values. If the algorithm's result is `null`, the key is removed from the resulting dictionary. Examples illustrate this with scaling values in a dictionary.\n"],null,["# ee.Dictionary.map\n\nMap an algorithm over a dictionary. The algorithm is expected to take 2 arguments, a key from the existing dictionary and the value it corresponds to, and return a new value for the given key. If the algorithm returns null, the key is dropped.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------|------------|\n| Dictionary.map`(baseAlgorithm)` | Dictionary |\n\n| Argument | Type | Details |\n|--------------------|------------|---------|\n| this: `dictionary` | Dictionary | |\n| `baseAlgorithm` | Algorithm | |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A dictionary (e.g. results of ee.Image.reduceRegion of an S2 image).\nvar dict = ee.Dictionary({\n B1: 182,\n B2: 219,\n B3: 443\n});\n\n/**\n * Convert S2 surface reflectance units to native scale.\n */\nfunction scale(key, value) {\n return ee.Number(value).divide(1e4);\n}\n\nprint('S2 surface reflectance in native units', dict.map(scale));\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# A dictionary (e.g. results of ee.Image.reduceRegion of an S2 image).\ndic = ee.Dictionary({\n 'B1': 182,\n 'B2': 219,\n 'B3': 443\n})\n\n\ndef scale(key, value):\n \"\"\"Convert S2 surface reflectance units to native scale.\"\"\"\n return ee.Number(value).divide(1e4)\n\nprint('S2 surface reflectance in native units:', dic.map(scale).getInfo())\n```"]]