2017-03-24 1 views
0

J'ai un DataArray pour lequel da.dims==(). Je peux assigner une coordonnée da.assign_coords(foo=42). Je voudrais ajouter une dimension correspondante avec une longueur, telle que da.dims==("foo",) et la coordonnée correspondante serait foo=[42]. Je ne peux pas utiliser assign_coords(foo=[42]), car cela entraîne le message d'erreur cannot add coordinates with new dimensions to a DataArray.affecter une nouvelle dimension de longueur un

Comment affecter une nouvelle dimension de longueur 1 à un DataArray? Je pourrais faire quelque chose comme DataArray(da.values.reshape([1]), dims="foo", coords={"foo": [42]}) mais je me demande s'il existe une méthode qui ne nécessite pas de copier l'objet entier.

+0

connexes: http://stackoverflow.com/questions/34987972/expand-dimensions-xray – gerrit

Répondre

0

Vous pouvez utiliser xarray.concat pour y parvenir:

da = xarray.DataArray(0, coords={"x": 42})
xarray.concat((da,), dim="x")