home / github

Menu
  • Search all tables
  • GraphQL API

issues

Table actions
  • GraphQL API for issues

3 rows where user = 6145107 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: comments, created_at (date), updated_at (date), closed_at (date)

type 2

  • pull 2
  • issue 1

state 1

  • closed 3

repo 1

  • xarray 3
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
1656363348 I_kwDOAMm_X85iuhlU 7727 Implement lshift and rshift operators abrammer 6145107 closed 0     1 2023-04-05T22:07:15Z 2023-04-28T14:22:08Z 2023-04-28T14:22:08Z CONTRIBUTOR      

Is your feature request related to a problem?

I've noticed that xarray does not support the lshift or rshift operators. While this is workable by using the numpy array the addition of the operators also seem somewhat trivial and reduces friction for numpy users adopting xarray.

Is the exclusion of these operators intentional or oversight or some other historic reason?

Describe the solution you'd like

Implement the operators if it makes sense.

Describe alternatives you've considered

No response

Additional context

I experimented with the potential edits here: https://github.com/abrammer/xarray/tree/feat/add_lshift_and_rshift_operators but don't want to open a PR without an initial discussion. I haven't delved into this area of xarray before so I probably missed something or did something wrong.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7727/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed xarray 13221727 issue
1659654612 PR_kwDOAMm_X85N4PWL 7741 Add lshift and rshift operators abrammer 6145107 closed 0     4 2023-04-08T21:45:46Z 2023-04-28T14:22:07Z 2023-04-28T14:22:07Z CONTRIBUTOR   0 pydata/xarray/pulls/7741

This seems a little too easy, but the PR just adds lshift and rshit to generate_ops.py and ops.py then generated the 2 stub files with generate_ops.py.

  • [x] Closes #7727
  • [x] Tests added for:
  • xr.Variable
  • DataArray
  • dask
  • groupby
  • [x] User visible changes (including notable bug fixes) are documented in whats-new.rst
  • There will be new << >> syntax for dataarrays and datasets.
  • [x] New functions/methods are listed in api.rst
    • Existing basic math operators aren't really listed, that I can find.
    • Could add example code in the "Data arrays also implement many numpy.ndarray methods:" section of computation.rst ?

I'll wait for initial review before spending time on whats-new and api docs.

This enables bit shifting on arrays (when the type supports it).

```python import xarray as xr

x = xr.DataArray(5) print(x << 1)

<xarray.DataArray ()>

array(10)

x = xr.DataArray([0,1,2,3,4,5]) print(x << 1)

<xarray.DataArray (dim_0: 6)>

array([ 0, 2, 4, 6, 8, 10])

Dimensions without coordinates: dim_0

x = xr.DataArray([0,1,2,3,4,5]) print(x >> 1)

<xarray.DataArray (dim_0: 6)>

array([0, 0, 1, 1, 2, 2])

Dimensions without coordinates: dim_0

x = xr.DataArray([0,1,2,3,4,5.]) print(x >> 1) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/workspaces/xarray/xarray/core/_typed_ops.py", line 255, in rshift return self._binary_op(other, operator.rshift) File "/workspaces/xarray/xarray/core/dataarray.py", line 4566, in _binary_op f(self.variable, other_variable) File "/workspaces/xarray/xarray/core/_typed_ops.py", line 461, in rshift return self._binary_op(other, operator.rshift) File "/workspaces/xarray/xarray/core/variable.py", line 2662, in _binary_op f(self_data, other_data) if not reflexive else f(other_data, self_data) TypeError: ufunc 'right_shift' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' ```

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7741/reactions",
    "total_count": 1,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 1,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
448330247 MDExOlB1bGxSZXF1ZXN0MjgyMTQwNTM3 2989 Add strftime() to datetime accessor with cftimeindex and dask support abrammer 6145107 closed 0     4 2019-05-24T19:52:42Z 2019-06-01T07:51:43Z 2019-06-01T07:51:17Z CONTRIBUTOR   0 pydata/xarray/pulls/2989
  • [x] Closes #2090
  • [x] Tests added
  • [x] Fully documented, including whats-new.rst for all changes and api.rst for new API
  • [x] Add further examples to User Guide Docs

Building on #2144, I added dask support and returning the appropriate object type.

The two initial commits show alternate approach to handling cftime values. Either adding strftime to cftimeindex and accessing that way (commit 5de4db1) or just rolling the loop within the datetime accessor and not touching cftimeindex at all ( 51239c9). can revert commit 5de4db1 if its preferred to not touch cftimeindex for any reason.

Can clean up docstrings and minor formatting after some input on the implementation details.
Is there a vectorized or better method for the cftime values? List comprehension was the best I could come up with, borrowing from similar logic elsewhere in the code.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/2989/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issues] (
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [number] INTEGER,
   [title] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [state] TEXT,
   [locked] INTEGER,
   [assignee] INTEGER REFERENCES [users]([id]),
   [milestone] INTEGER REFERENCES [milestones]([id]),
   [comments] INTEGER,
   [created_at] TEXT,
   [updated_at] TEXT,
   [closed_at] TEXT,
   [author_association] TEXT,
   [active_lock_reason] TEXT,
   [draft] INTEGER,
   [pull_request] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [performed_via_github_app] TEXT,
   [state_reason] TEXT,
   [repo] INTEGER REFERENCES [repos]([id]),
   [type] TEXT
);
CREATE INDEX [idx_issues_repo]
    ON [issues] ([repo]);
CREATE INDEX [idx_issues_milestone]
    ON [issues] ([milestone]);
CREATE INDEX [idx_issues_assignee]
    ON [issues] ([assignee]);
CREATE INDEX [idx_issues_user]
    ON [issues] ([user]);
Powered by Datasette · Queries took 24.666ms · About: xarray-datasette