home / github / issues

Menu
  • GraphQL API
  • Search all tables

issues: 690268366

This data as json

id node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association active_lock_reason draft pull_request body reactions performed_via_github_app state_reason repo type
690268366 MDU6SXNzdWU2OTAyNjgzNjY= 4397 Unstack non-index coordinate 38673295 open 0     2 2020-09-01T16:04:51Z 2022-04-28T15:13:37Z   NONE      

What happened:

Non-indexed coordinates are not unstacked correctly. The example below should be self-explanatory.

In the example below, I create a surface of the torus which should be used for some calculation for each point - therefore I have to use multi-index. The surface is given by the set of (R, Z) -- indexed by pol_idx -- which is the same for each toroidal angle phi. At the end of the day I would like to have the mesh of ('phi', 'pol_idx').

What you expected to happen:

ds.stack(multiindex=("a", "b")).unstack("multindex")should returnds`.

Minimal Complete Verifiable Example:

```python theta = np.linspace(0, np.pi) R0 = 1

grid = xr.Dataset(coords={"R": ("pol_idx", R0 * np.cos(theta)), "Z": ("pol_idx", R0 * np.sin(theta)), "phi": np.linspace(0, 2*np.pi, N_phi_points, endpoint=False)})

<xarray.Dataset> Dimensions: (phi: 256, pol_idx: 50) Coordinates: R (pol_idx) float64 1.0 0.9979 0.9918 0.9816 ... -0.9918 -0.9979 -1.0 Z (pol_idx) float64 0.0 0.06407 0.1279 ... 0.1279 0.06407 1.225e-16 * phi (phi) float64 0.0 0.02454 0.04909 0.07363 ... 6.21 6.234 6.259 Dimensions without coordinates: pol_idx Data variables: empty

grid = grid.stack(index=("pol_idx", "phi"))

<xarray.Dataset> Dimensions: (index: 12800) Coordinates: R (index) float64 1.0 1.0 1.0 1.0 1.0 ... -1.0 -1.0 -1.0 -1.0 -1.0 Z (index) float64 0.0 0.0 0.0 0.0 ... 1.225e-16 1.225e-16 1.225e-16 * index (index) MultiIndex - pol_idx (index) int64 0 0 0 0 0 0 0 0 0 0 ... 49 49 49 49 49 49 49 49 49 49 - phi (index) float64 0.0 0.02454 0.04909 0.07363 ... 6.21 6.234 6.259 Data variables: empty

Here I would like to perform some calculation on the prepared grid over the multiindex.

grid = grid.unstack("index")

<xarray.Dataset> Dimensions: (phi: 256, pol_idx: 50) Coordinates: R (pol_idx, phi) float64 1.0 1.0 1.0 1.0 1.0 ... -1.0 -1.0 -1.0 -1.0 Z (pol_idx, phi) float64 0.0 0.0 0.0 ... 1.225e-16 1.225e-16 * pol_idx (pol_idx) int64 0 1 2 3 4 5 6 7 8 9 ... 41 42 43 44 45 46 47 48 49 * phi (phi) float64 0.0 0.02454 0.04909 0.07363 ... 6.21 6.234 6.259 Data variables: empty

```

Comment:

I am not sure whether this is a bug. However, I find this behaviour counterintuitive.

Environment:

Output of <tt>xr.show_versions()</tt> INSTALLED VERSIONS ------------------ commit: None python: 3.7.4 (default, Aug 13 2019, 20:35:49) [GCC 7.3.0] python-bits: 64 OS: Linux OS-release: 4.15.0-112-generic machine: x86_64 processor: x86_64 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: en_US.UTF-8 libhdf5: 1.10.4 libnetcdf: 4.6.1 xarray: 0.14.1 pandas: 0.25.1 numpy: 1.17.2 scipy: 1.3.1 netCDF4: 1.4.2 pydap: None h5netcdf: 0.7.4 h5py: 2.9.0 Nio: None zarr: None cftime: 1.0.4.2 nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: 1.2.1 dask: 2.5.2 distributed: 2.5.2 matplotlib: 3.1.3 cartopy: None seaborn: 0.9.0 numbagg: None setuptools: 41.4.0 pip: 19.2.3 conda: 4.8.3 pytest: 5.2.1 IPython: 7.8.0 sphinx: 2.2.0
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/4397/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    13221727 issue

Links from other tables

  • 1 row from issues_id in issues_labels
  • 2 rows from issue in issue_comments
Powered by Datasette · Queries took 0.501ms · About: xarray-datasette