Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Comments on How to resolve a "ValueError: dimension 't' already exists as a scalar variable" arising when I am using xarray.Dataset.assign_coords()?
Post
How to resolve a "ValueError: dimension 't' already exists as a scalar variable" arising when I am using xarray.Dataset.assign_coords()?
I have the following xarray Dataset
:
d: <xarray.Dataset>
Dimensions: (x: 79, y: 63, t: 1)
Coordinates:
* x (x) float64 0.9412 1.882 2.824 3.765 ... 71.53 72.47 73.41 74.35
* y (y) float64 59.29 58.35 57.41 56.47 ... 3.765 2.824 1.882 0.9412
* t (t) int32 0
Data variables:
u (x, y, t) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0
v (x, y, t) float64 -0.0 -0.0 -0.0 -0.0 -0.0 ... -0.0 -0.0 -0.0 -0.0
chc (x, y, t) float64 1.0 1.0 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0 1.0
Attributes: (2)
When I try to assign new values to the coordinate t
, using d = d.assign_coords(t = 0.123)
, I receive an error:
ValueError: dimension 't' already exists as a scalar variable
How can I resolve the error and assign a new value to the t
coordinate?
I have tried the solutions to the similar problems posted on Stack Overflow, such as
-
assign_coords
is not an inplace operation - recreate
t
as a coordinate and then assign the value to it - change the type of
t
tofloat
- using dictionary:
d = d.assign_coords({'t':0.123})
I suspect that the asterisk next to the name of my coordinate t
has something to do with the error. But I don't understand what it means; I could only find that it is a reference to something called "proper coordinate".
1 comment thread