Inconsistent behavior for item assignment to vector arrays
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo le assegnazioni vector.array segnalate con slices, array booleani e un singolo indice in Python 3.11. Confronta i tre comportamenti di indicizzazione e aggiungi una copertura di regressione per il comportamento coerente atteso delle assegnazioni; il lavoro è completato quando l’assegnazione booleana non fallisce più silenziosamente e l’assegnazione con un singolo indice ha un comportamento definito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Vector Version
1.3.1
Python Version
3.11.4
OS / Environment
Kubuntu Linux 22.04.
vector is installed using pip in a conda environment.
Describe the bug
When trying to assign certain items in a vector numpy array, the behavior is different depending on how it is done.
> v = vector.array({"E": np.arange(4), "px": np.zeros(4), "py": np.zeros(4), "pz": np.zeros(4)})
> print(v)
[(0., 0., 0., 0) (0., 0., 0., 1) (0., 0., 0., 2) (0., 0., 0., 3)]
Assignment with a slice:
> v[1:2] = vector.array({"E": [8], "px": [0], "py": [0], "pz": [0]})
> print(v) # Changes the item correctly
[(0., 0., 0., 0) (0., 0., 0., 8) (0., 0., 0., 2) (0., 0., 0., 3)]
Assignment with a boolean array:
> v[v.E > 2] = vector.array({"E": np.ones(2), "px": np.ones(2), "py": np.ones(2), "pz": np.ones(2)})
> print(v) # Does nothing and fails silently
[(0., 0., 0., 0) (0., 0., 0., 8) (0., 0., 0., 2) (0., 0., 0., 3)]
Assignment with a single index:
> v[1] = vector.array(dict(px=[0.0], py=[0.0], pz=[0.0], E=[3])) # Crashes
TypeError: 'MomentumObject4D' object does not support item assignment
Any additional but relevant log output
No response
- Lingua principale
- Python
- Stelle
- 102
- Fork
- 45
- Merge medio
- 5h 54m
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di scikit-hep/vector
-
Numba object backend: missing to_2D/to_3D/to_4D, momentum-named conversions, and like()Forse già presa @Thanatos9404 l’ha presa 14 giorni fa. Apertafeature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
scikit-hep/vector#750 · 1 commento ·
-
Add ability to somehow map field names to coordinate axis names that vector expectsForse di nuovo libera @hjaat l’ha presa 95 giorni fa e non c’è nessuna pull request aperta. Apertafeature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
scikit-hep/vector#732 · 3 commenti ·
-
feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
scikit-hep/vector#731 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
scikit-hep/vector#711 · 1 commento ·
-
Pyright showing errorsApertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
scikit-hep/vector#654 ·
Tutte le issue di scikit-hep/vector
Issue simili
-
Support .aac audio uploadsForse già presa @julien731 l’ha presa oggi. Apertafeature
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
nimblehq/audio-transcriber#153 ·
-
help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
antonyrag/ragleap-core#1062 ·
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
gke-labs/kube-agents#4321 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Git-Hospital/githealthcheck#61 ·
I maintainer di solito rispondono entro 1 giorno
-
changelog investigate
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
ramnes/notion-sdk-py#433 ·