API?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 20/100
Piste de recherche
Start by reviewing the proposed accessor API in pint/#849 and the checked and unchecked DataArray and Dataset methods listed here. Determine which API items remain desired and whether the accessor should eventually be renamed from pint to units; done requires an agreed scope rather than a single isolated edit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
@jthielen proposed a rough accessor API in pint/#849, to which I've added a couple of things:
DataArray:
-
da.pint.to(...): return dataarray with converted units (#11) -
da.pint.to_base_units(): return dataarray with base units -
da.pint.units: units of quantity (as a Unit) -
da.pint.magnitude: magnitude of quantity -
da.pint.quantify(unit_registry=None, unit=None): create DataArray wrapping a Quantity based on string unit attribute of DataArray or specified unit -
da.pint.dequantify(): replace data with the Quantity's magnitude, and add back string unit attribute from Quantity's unit -
da.pint.sel(): wrap da.sel to handle indexing with Quantities (by casting to magnitude in the coordinate's units similar to how MetPy does it, since true unit-aware indexing is not available yet in xarray) -
da.pint.loc: wrap da.loc likewise -
da.pint.to_system(system): convert all variables to be expressed in the (base?) units of a different system. Might require upstream additions to pint.
Dataset:
-
ds.pint.to(...): return Dataset with converted units (#11) -
ds.pint.to_base_units(): return dataset with base units -
ds.pint.quantify(unit_registry=None): convert all data variables to quantities -
ds.pint.dequantify(): convert all data variables from quantities to magnitudes with units as an attribute -
ds.pint.sel(): wrap ds.sel to handle indexing with Quantities -
ds.pint.loc: wrap ds.loc likewise -
ds.pint.to_system(system): convert all variables to be expressed in the (base?) units of a different system.
(this may be modified as things change on xarray's and pint's end, especially involving Dask arrays (xref #883))
Anything else?
At some point when the integration is more solidified (but before official release) we should change the accessor from pint to units, to get a interface more like what's described here.
This would be:
a) More intuitive
b) Units-library agnostic
c) A good fit for potentially using an entrypoint to choose which units library you want to use. There's already an entrypoint for plotting backends in xarray, and plans to add one for storage backends too.
- Langage dominant
- Python
- Étoiles
- 120
- Forks
- 17
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de xarray-contrib/pint-xarray
-
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
xarray-contrib/pint-xarray#400 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
xarray-contrib/pint-xarray#362 · 1 commentaire ·
-
swap_dims drops coordinate unitsOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
xarray-contrib/pint-xarray#361 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
xarray-contrib/pint-xarray#303 · 3 commentaires ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
xarray-contrib/pint-xarray#271 · 7 commentaires ·
Toutes les issues de xarray-contrib/pint-xarray
Issues similaires
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Ouvertekind/bug priority/medium qa_automation
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
yugabyte/yugabyte-db#37324 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 87/100
btclib-org/btclib-node#2260 ·
Les mainteneurs répondent en général sous 1 jour
-
ChatBedrockConverse changes the keys of JSON tool results to camelCase (`order_id` becomes `orderId`)Peut-être pris @geyazheng l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
langchain-ai/langchain-aws#1469 ·
Les mainteneurs répondent en général sous 1 jour
-
GCToggler leaves collection enabled if the body re-enables itPeut-être pris @Gambit-Checkmate l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 7 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
EESSI/docs#949 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour