es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

utilice el tiempo sin fecha como una dimensión en xarray

Tengo un xarray.DataArray en el que he establecido exitosamente una dimensión como tiempo de un día.

tmp.dims
('ITEM', 'DATE', 'TIME', 'CODE')
tmp.TIME
<xarray.dataarray 'time'="" (time:="" 15)="">
array([datetime.time(14, 15), datetime.time(14, 16), datetime.time(14, 17),
       datetime.time(14, 18), datetime.time(14, 19), datetime.time(14, 20),
       datetime.time(14, 21), datetime.time(14, 22), datetime.time(14, 23),
       datetime.time(14, 24), datetime.time(14, 25), datetime.time(14, 26),
       datetime.time(14, 27), datetime.time(14, 28), datetime.time(14, 29)],
      dtype=object)
tmp.TIME.values[0]
datetime.time(14, 15)

Pero no puedo guardar este xarray debido al siguiente error:

tmp.to_netcdf('/sdata/user/tsu/tmp/srpd.nc')
        *** ValueError: no se puede inferir el dtype de la variable 'TIME'; xarray no puede serializar objetos Python arbitrarios

¿Está mal usar datetime.time de esta manera?</xarray.dataarray>

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es incorrecto usar datetime.time de esta manera ya que xarray no puede serializar objetos Python arbitrarios como datetime.time. Se recomienda usar en su lugar el tipo de dato pandas.datetime o numpy.datetime64.

Comments are closed.