Skip to content

Conversation

brokkoli71
Copy link
Member

@brokkoli71 brokkoli71 commented Jun 15, 2024

fixes #1963

Changes:

  • Mask indexing is available as indexing with square brackets: a[mask_selection]
  • Orthogonal indexing with bool lists is available as indexing with square brackets: a[bool_selection_axis1, bool_selection_axis2]

Example
For an Array

data = np.arange(9, dtype="uint16").reshape(3, 3)
z = Array.create(
        StorePath(MemoryStore(mode="w")),
        shape=data.shape,
        chunk_shape=(data.shape),
        dtype=data.dtype,
    )
z[:] = data
mask = np.tile([True, False, True], (3, 1))

Each of the following failed before and works now

print(z[mask])
z[mask] = 42
print(z[[True, False, True], [True, False, True]])
z[[True, False, True], [True, False, True]] = 10

@brokkoli71 brokkoli71 marked this pull request as ready for review June 17, 2024 10:27
@brokkoli71 brokkoli71 marked this pull request as draft June 17, 2024 10:40
@brokkoli71 brokkoli71 marked this pull request as ready for review June 17, 2024 12:08
Copy link
Member

@jhamman jhamman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few quick comments.

@brokkoli71 brokkoli71 requested a review from jhamman June 19, 2024 13:48
@normanrz normanrz self-requested a review June 27, 2024 13:09
@normanrz normanrz added the V3 label Jun 27, 2024
@normanrz normanrz added this to the 3.0.0 milestone Jun 27, 2024
@normanrz normanrz merged commit e42a6be into zarr-developers:v3 Jun 28, 2024
dcherian added a commit to dcherian/zarr-python that referenced this pull request Jul 25, 2024
* v3: (22 commits)
  chore: update pre-commit hooks (zarr-developers#2051)
  Apply ruff/flake8-bandit rule B006 (zarr-developers#2049)
  Move fixtures to `tests` (zarr-developers#1813)
  Multiple imports for an import name (zarr-developers#2047)
  Redundant list comprehension (zarr-developers#2048)
  chore: update pre-commit hooks (zarr-developers#2039)
  Cast fill value to array's dtype (zarr-developers#2020)
  chore: update pre-commit hooks (zarr-developers#2017)
  make shardingcodec pickleable  (zarr-developers#2011)
  doc: copy 3.0.0.alpha changelog into release.rst (zarr-developers#2007)
  build(ci): enable python 3.12 in github actions (zarr-developers#2005)
  Bump NumPy to 2.0 (zarr-developers#1983)
  chore: update pre-commit hooks (zarr-developers#1989)
  Fix indexing with bools (zarr-developers#1968)
  Fix string interpolation (zarr-developers#1998)
  Unnecessary comprehension (zarr-developers#1997)
  Stop ignoring these ruff rules (zarr-developers#2001)
  Merge collapsible if statements (zarr-developers#1999)
  Unnecessary comprehension (zarr-developers#1996)
  Handle Path in `make_store_path` (zarr-developers#1992)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[v3] Accessing data with bools in square bracket notation
4 participants