|
907 | 907 | " The output of orthogonal indexing is a 3x3 array, while the output of vectorized indexing is a 1D array."
|
908 | 908 | ]
|
909 | 909 | },
|
910 |
| - { |
911 |
| - "cell_type": "markdown", |
912 |
| - "metadata": {}, |
913 |
| - "source": [ |
914 |
| - "The principle of outer or orthogonal indexing is that the result mirrors the effect of independently indexing along each dimension with integer or boolean arrays, treating both the indexed and indexing arrays as one-dimensional." |
915 |
| - ] |
916 |
| - }, |
917 | 910 | {
|
918 | 911 | "cell_type": "markdown",
|
919 | 912 | "metadata": {},
|
|
1818 | 1811 | },
|
1819 | 1812 | {
|
1820 | 1813 | "cell_type": "code",
|
1821 |
| - "execution_count": 41, |
| 1814 | + "execution_count": 51, |
1822 | 1815 | "metadata": {
|
1823 | 1816 | "tags": []
|
1824 | 1817 | },
|
|
2216 | 2209 | " lon (degrees_east) float32 200.0 200.0 202.5 205.0\n",
|
2217 | 2210 | " * time (time) datetime64[ns] 2013-01-01 ... 2014-12-31T18:00:00\n",
|
2218 | 2211 | "Dimensions without coordinates: degrees_north, degrees_east\n",
|
2219 |
| - "Attributes: (11)</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'air'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 2920</li><li><span>degrees_north</span>: 4</li><li><span>degrees_east</span>: 4</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-ecf6ab3e-53c0-4fbc-99f7-8139574bbca8' class='xr-array-in' type='checkbox' checked><label for='section-ecf6ab3e-53c0-4fbc-99f7-8139574bbca8' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>293.1 293.1 293.3 293.3 284.6 284.6 ... 281.0 281.4 281.4 280.6 281.0</span></div><div class='xr-array-data'><pre>array([[[293.1 , 293.1 , 293.29 , 293.29 ],\n", |
| 2212 | + "Attributes: (11)</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'air'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 2920</li><li><span>degrees_north</span>: 4</li><li><span>degrees_east</span>: 4</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-aad89412-a657-4270-9d88-0668b0a96145' class='xr-array-in' type='checkbox' checked><label for='section-aad89412-a657-4270-9d88-0668b0a96145' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>293.1 293.1 293.3 293.3 284.6 284.6 ... 281.0 281.4 281.4 280.6 281.0</span></div><div class='xr-array-data'><pre>array([[[293.1 , 293.1 , 293.29 , 293.29 ],\n", |
2220 | 2213 | " [284.6 , 284.6 , 284.9 , 284.19998],\n",
|
2221 | 2214 | " [282.79 , 282.79 , 283.19998, 282.6 ],\n",
|
2222 | 2215 | " [282.79 , 282.79 , 283.19998, 282.6 ]],\n",
|
|
2236 | 2229 | " [[289.49 , 289.49 , 290.38998, 291.59 ],\n",
|
2237 | 2230 | " [282.09 , 282.09 , 281.99 , 283.09 ],\n",
|
2238 | 2231 | " [281.38998, 281.38998, 280.59 , 280.99 ],\n",
|
2239 |
| - " [281.38998, 281.38998, 280.59 , 280.99 ]]], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-2fe6f8f3-366b-4520-971a-5e2e664022d4' class='xr-section-summary-in' type='checkbox' checked><label for='section-2fe6f8f3-366b-4520-971a-5e2e664022d4' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>lat</span></div><div class='xr-var-dims'>(degrees_north)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>30.0 40.0 42.5 42.5</div><input id='attrs-44000c25-ea78-4372-bbe1-2042c8e86d5c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-44000c25-ea78-4372-bbe1-2042c8e86d5c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fcf16f2c-cd50-4c7e-84b8-49524cb3782f' class='xr-var-data-in' type='checkbox'><label for='data-fcf16f2c-cd50-4c7e-84b8-49524cb3782f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>long_name :</span></dt><dd>Latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>axis :</span></dt><dd>Y</dd></dl></div><div class='xr-var-data'><pre>array([30. , 40. , 42.5, 42.5], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lon</span></div><div class='xr-var-dims'>(degrees_east)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>200.0 200.0 202.5 205.0</div><input id='attrs-286221c9-2c4a-4643-9d07-a819fd21f4b7' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-286221c9-2c4a-4643-9d07-a819fd21f4b7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8f2f655d-1fe0-489f-a1c5-cb38adee996e' class='xr-var-data-in' type='checkbox'><label for='data-8f2f655d-1fe0-489f-a1c5-cb38adee996e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>long_name :</span></dt><dd>Longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>axis :</span></dt><dd>X</dd></dl></div><div class='xr-var-data'><pre>array([200. , 200. , 202.5, 205. ], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2013-01-01 ... 2014-12-31T18:00:00</div><input id='attrs-382845eb-d7df-4604-aa4c-f31d9f7e7601' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-382845eb-d7df-4604-aa4c-f31d9f7e7601' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b199475d-5109-4aba-936d-b7c35800b9c7' class='xr-var-data-in' type='checkbox'><label for='data-b199475d-5109-4aba-936d-b7c35800b9c7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>time</dd><dt><span>long_name :</span></dt><dd>Time</dd></dl></div><div class='xr-var-data'><pre>array(['2013-01-01T00:00:00.000000000', '2013-01-01T06:00:00.000000000',\n", |
| 2232 | + " [281.38998, 281.38998, 280.59 , 280.99 ]]], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-1e717edc-5cb5-4131-8386-d5a3a5bdccdf' class='xr-section-summary-in' type='checkbox' checked><label for='section-1e717edc-5cb5-4131-8386-d5a3a5bdccdf' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>lat</span></div><div class='xr-var-dims'>(degrees_north)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>30.0 40.0 42.5 42.5</div><input id='attrs-67efa0ef-9fda-4502-9099-dee465be013d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-67efa0ef-9fda-4502-9099-dee465be013d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dba6cfa6-7beb-4a60-a0d1-05615577f823' class='xr-var-data-in' type='checkbox'><label for='data-dba6cfa6-7beb-4a60-a0d1-05615577f823' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>long_name :</span></dt><dd>Latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>axis :</span></dt><dd>Y</dd></dl></div><div class='xr-var-data'><pre>array([30. , 40. , 42.5, 42.5], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lon</span></div><div class='xr-var-dims'>(degrees_east)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>200.0 200.0 202.5 205.0</div><input id='attrs-a72b0083-6bb9-4991-b547-7d83dae6ecfc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a72b0083-6bb9-4991-b547-7d83dae6ecfc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-63c2bd41-dff5-44b9-b715-263af2dfa6b3' class='xr-var-data-in' type='checkbox'><label for='data-63c2bd41-dff5-44b9-b715-263af2dfa6b3' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>long_name :</span></dt><dd>Longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>axis :</span></dt><dd>X</dd></dl></div><div class='xr-var-data'><pre>array([200. , 200. , 202.5, 205. ], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2013-01-01 ... 2014-12-31T18:00:00</div><input id='attrs-2db855aa-b3e2-49e4-b674-1c3c6e3f6c34' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2db855aa-b3e2-49e4-b674-1c3c6e3f6c34' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-38d9bba7-d1de-44ea-96c7-f2b01c8226ce' class='xr-var-data-in' type='checkbox'><label for='data-38d9bba7-d1de-44ea-96c7-f2b01c8226ce' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>time</dd><dt><span>long_name :</span></dt><dd>Time</dd></dl></div><div class='xr-var-data'><pre>array(['2013-01-01T00:00:00.000000000', '2013-01-01T06:00:00.000000000',\n", |
2240 | 2233 | " '2013-01-01T12:00:00.000000000', ..., '2014-12-31T06:00:00.000000000',\n",
|
2241 | 2234 | " '2014-12-31T12:00:00.000000000', '2014-12-31T18:00:00.000000000'],\n",
|
2242 |
| - " dtype='datetime64[ns]')</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-69ddca08-0b63-4aa7-94c1-737005933536' class='xr-section-summary-in' type='checkbox' ><label for='section-69ddca08-0b63-4aa7-94c1-737005933536' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-f58b2595-e9bf-4b09-8321-6791d3466895' class='xr-index-data-in' type='checkbox'/><label for='index-f58b2595-e9bf-4b09-8321-6791d3466895' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 06:00:00',\n", |
| 2235 | + " dtype='datetime64[ns]')</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-4fe9e3cd-7875-4b60-bbcd-d9f38486cc5c' class='xr-section-summary-in' type='checkbox' ><label for='section-4fe9e3cd-7875-4b60-bbcd-d9f38486cc5c' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-79b37a5d-e9ed-4552-8a7a-dbc201a3d7e9' class='xr-index-data-in' type='checkbox'/><label for='index-79b37a5d-e9ed-4552-8a7a-dbc201a3d7e9' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 06:00:00',\n", |
2243 | 2236 | " '2013-01-01 12:00:00', '2013-01-01 18:00:00',\n",
|
2244 | 2237 | " '2013-01-02 00:00:00', '2013-01-02 06:00:00',\n",
|
2245 | 2238 | " '2013-01-02 12:00:00', '2013-01-02 18:00:00',\n",
|
|
2250 | 2243 | " '2014-12-30 12:00:00', '2014-12-30 18:00:00',\n",
|
2251 | 2244 | " '2014-12-31 00:00:00', '2014-12-31 06:00:00',\n",
|
2252 | 2245 | " '2014-12-31 12:00:00', '2014-12-31 18:00:00'],\n",
|
2253 |
| - " dtype='datetime64[ns]', name='time', length=2920, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-447e7d8f-fde3-437b-aa2e-125aa69eea88' class='xr-section-summary-in' type='checkbox' ><label for='section-447e7d8f-fde3-437b-aa2e-125aa69eea88' class='xr-section-summary' >Attributes: <span>(11)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>4xDaily Air temperature at sigma level 995</dd><dt><span>units :</span></dt><dd>degK</dd><dt><span>precision :</span></dt><dd>2</dd><dt><span>GRIB_id :</span></dt><dd>11</dd><dt><span>GRIB_name :</span></dt><dd>TMP</dd><dt><span>var_desc :</span></dt><dd>Air temperature</dd><dt><span>dataset :</span></dt><dd>NMC Reanalysis</dd><dt><span>level_desc :</span></dt><dd>Surface</dd><dt><span>statistic :</span></dt><dd>Individual Obs</dd><dt><span>parent_stat :</span></dt><dd>Other</dd><dt><span>actual_range :</span></dt><dd>[185.16 322.1 ]</dd></dl></div></li></ul></div></div>" |
| 2246 | + " dtype='datetime64[ns]', name='time', length=2920, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-1d174dac-23ab-47db-8503-27c8366abb13' class='xr-section-summary-in' type='checkbox' ><label for='section-1d174dac-23ab-47db-8503-27c8366abb13' class='xr-section-summary' >Attributes: <span>(11)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>4xDaily Air temperature at sigma level 995</dd><dt><span>units :</span></dt><dd>degK</dd><dt><span>precision :</span></dt><dd>2</dd><dt><span>GRIB_id :</span></dt><dd>11</dd><dt><span>GRIB_name :</span></dt><dd>TMP</dd><dt><span>var_desc :</span></dt><dd>Air temperature</dd><dt><span>dataset :</span></dt><dd>NMC Reanalysis</dd><dt><span>level_desc :</span></dt><dd>Surface</dd><dt><span>statistic :</span></dt><dd>Individual Obs</dd><dt><span>parent_stat :</span></dt><dd>Other</dd><dt><span>actual_range :</span></dt><dd>[185.16 322.1 ]</dd></dl></div></li></ul></div></div>" |
2254 | 2247 | ],
|
2255 | 2248 | "text/plain": [
|
2256 | 2249 | "<xarray.DataArray 'air' (time: 2920, degrees_north: 4, degrees_east: 4)>\n",
|
|
2283 | 2276 | "Attributes: (11)"
|
2284 | 2277 | ]
|
2285 | 2278 | },
|
2286 |
| - "execution_count": 41, |
| 2279 | + "execution_count": 51, |
2287 | 2280 | "metadata": {},
|
2288 | 2281 | "output_type": "execute_result"
|
2289 | 2282 | }
|
|
2295 | 2288 | "da_air.sel(lat=target_lat, lon=target_lon, method=\"nearest\") # -- orthogonal indexing"
|
2296 | 2289 | ]
|
2297 | 2290 | },
|
2298 |
| - { |
2299 |
| - "cell_type": "code", |
2300 |
| - "execution_count": null, |
2301 |
| - "metadata": {}, |
2302 |
| - "outputs": [], |
2303 |
| - "source": [ |
2304 |
| - "target_lat = xr.DataArray([31, 41, 42, 42], dims=\"degrees_north\")\n", |
2305 |
| - "target_lon = xr.DataArray([200, 201, 202, 205], dims=\"degrees_east\")\n", |
2306 |
| - "\n", |
2307 |
| - "da.sel(lat=target_lat, lon=target_lon, method=\"nearest\") # -- orthogonal indexing" |
2308 |
| - ] |
2309 |
| - }, |
2310 | 2291 | {
|
2311 | 2292 | "cell_type": "markdown",
|
2312 | 2293 | "metadata": {},
|
|
0 commit comments