home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 709991825

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions performed_via_github_app issue
https://github.com/pydata/xarray/issues/2795#issuecomment-709991825 https://api.github.com/repos/pydata/xarray/issues/2795 709991825 MDEyOklzc3VlQ29tbWVudDcwOTk5MTgyNQ== 38673295 2020-10-16T11:34:05Z 2020-10-16T11:34:05Z NONE

Hi, I also vote for this function, My typical use-case.

There is some structure in 3D space and I need to "flatten it" to 2D. Let us say it is axially symetric so I assign R and Z coordinate to points (or r and theta in polar). And I want to simplify this using interp; however, it requuires unique coordinates.

I have some solution here: https://stackoverflow.com/questions/51058379/drop-duplicate-times-in-xarray

and adapted this into actuall function:

```python def distribure_uniform(ds, N_points=512):

ds_theta = ds.sortby("theta").swap_dims({"idx": "theta"})
_, index = np.unique(ds_theta['theta'], return_index=True)

ds_theta = ds_theta.isel(theta=index)

ds_theta = ds_theta.interp(
    theta=np.linspace(ds.theta.min(), ds.theta.max(), N_points))

ds_theta = ds_theta.swap_dims({"theta": "idx"})
return ds_theta

```

In an idal case I would like to write something like this:

```python def distribure_uniform(ds, N_points=512):

ds_theta= ds.unique("theta", sorted=False, sort=True)

ds_theta = ds_theta.swap_dims({"idx": "theta"})
ds_theta = ds_theta.interp(
    theta=np.linspace(ds.theta.min(), ds.theta.max(), N_points))
ds_theta = ds_theta.swap_dims({"theta": "idx"})
return ds_theta

```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  415774106
Powered by Datasette · Queries took 0.784ms · About: xarray-datasette